/* Asterisk INI to Property List File Conversion Utility -- Version 1.10 * * globaldefs.h * aini2plist * * Global aliases and macros * * Author: Benjamin Kowarsch * * (C) 2005, 2006 Sunrise Telephone Systems Ltd. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. * * In countries and territories where the above no-warranty disclaimer is * not permissible by applicable law, the following terms apply: * * NO PERMISSION TO USE THE SOFTWARE IS GRANTED AND THE SOFTWARE MUST NOT BE * USED AT ALL IN SUCH COUNTRIES AND TERRITORIES WHERE THE ABOVE NO-WARRANTY * DISCLAIMER IS NOT PERMISSIBLE AND INVALIDATED BY APPLICABLE LAW. HOWEVER, * THE COPYRIGHT HOLDERS HEREBY WAIVE THEIR RIGHT TO PURSUE OFFENDERS AS LONG * AS THEY OTHERWISE ABIDE BY THE TERMS OF THE LICENSE AS APPLICABLE FOR USE * OF THE SOFTWARE IN COUNTRIES AND TERRITORIES WHERE THE ABOVE NO-WARRANTY * DISCLAIMER IS PERMITTED BY APPLICABLE LAW. THIS WAIVER DOES NOT CONSTITUTE * A LICENSE TO USE THE SOFTWARE IN COUNTRIES AND TERRITORIES WHERE THE ABOVE * NO-WARRANTY DISCLAIMER IS NOT PERMISSIBLE AND INVALIDATED BY APPLICABLE * LAW. ANY LIABILITY OF ANY KIND IS CATEGORICALLY RULED OUT AT ALL TIMES. */ // --------------------------------------------------------------------------- // Maximum length for identifiers, strings and values // --------------------------------------------------------------------------- #define MAXIMUM_LENGTH_FOR_IDENTIFIERS 32 #define MAXIMUM_LENGTH_FOR_STRINGS 1024 #define MAXIMUM_LENGTH_FOR_VALUES 256 // --------------------------------------------------------------------------- // Aliases for null-char and null-string literals // --------------------------------------------------------------------------- #ifndef EMPTY_STRING #define EMPTY_STRING "\0" #endif #ifndef CSTRING_TERMINATOR #define CSTRING_TERMINATOR '\0' #endif // --------------------------------------------------------------------------- // Default index type // --------------------------------------------------------------------------- typedef unsigned int CARDINAL; // --------------------------------------------------------------------------- // Macros to determine the maximum of 2, 4 and 6 values // --------------------------------------------------------------------------- // In Modula-2 we'd just use the MAX(v1, v2, v3, ...) compile time expression, // but C lacks such utility and beauty. It offers ugly messy kludges instead: #define MAX2(v1,v2) (((v1)>(v2))?(v1):(v2)) #define MAX4(v1,v2,v3,v4) MAX2(MAX2((v1),(v2)), MAX2((v3),(v4))) #define MAX6(v1,v2,v3,v4,v5,v6) MAX2(MAX2((v1),(v2)), MAX4((v3),(v4),(v5),(v6))) // END OF FILE