1 2/*********************************************************** 3Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts. 4 5 All Rights Reserved 6 7Permission to use, copy, modify, and distribute this software and its 8documentation for any purpose and without fee is hereby granted, 9provided that the above copyright notice appear in all copies and that 10both that copyright notice and this permission notice appear in 11supporting documentation, and that Alfalfa's name not be used in 12advertising or publicity pertaining to distribution of the software 13without specific, written prior permission. 14 15ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 16ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 17ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 18ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 19WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 20ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 21SOFTWARE. 22 23If you make any modifications, bugfixes or other changes to this software 24we'd appreciate it if you could send a copy to us so we can keep things 25up-to-date. Many thanks. 26 Kee Hinckley 27 Alfalfa Software, Inc. 28 267 Allston St., #3 29 Cambridge, MA 02139 USA 30 nazgul@alfalfa.com 31 32******************************************************************/ 33 34/* Edit History 35 3602/25/91 2 nazgul Added MCGetByteOrder 3701/18/91 2 hamilton #if not reparsed 3801/12/91 2 schulert conditionally use prototypes 3911/03/90 1 hamilton Alphalpha->Alfalfa & OmegaMail->Poste 4008/13/90 1 schulert move from ua to omu 41*/ 42 43#ifndef gencat_h 44#define gencat_h 45 46/* 47 * $set n comment 48 * My extension: If the comment begins with # treat the next string 49 * as a constant identifier. 50 * $delset n comment 51 * n goes from 1 to NL_SETMAX 52 * Deletes a set from the MC 53 * $ comment 54 * My extension: If comment begins with # treat the next string as 55 * a constant identifier for the next message. 56 * m message-text 57 * m goes from 1 to NL_MSGMAX 58 * If message-text is empty, and a space or tab is present, put 59 * empty string in catalog. 60 * If message-text is empty, delete the message. 61 * Length of text is 0 to NL_TEXTMAX 62 * My extension: If '#' is used instead of a number, the number 63 * is generated automatically. A # followed by anything is an empty message. 64 * $quote c 65 * Optional quote character which can suround message-text to 66 * show where spaces are. 67 * 68 * Escape Characters 69 * \n (newline), \t (horiz tab), \v (vert tab), \b (backspace), 70 * \r (carriage return), \f (formfeed), \\ (backslash), \ddd (bitpattern 71 * in octal). 72 * Also, \ at end of line is a continuation. 73 * 74 */ 75 76#define MCLangC 0 77#define MCLangCPlusPlus 1 78#define MCLangANSIC 2 79 80#define MAXTOKEN 1024 81 82#if !defined(ANSI_C) && (defined(__STDC__) || defined(_AIX)) 83# define ANSI_C 1 84#endif 85 86#if ANSI_C || defined(__cplusplus) 87# define P_(x) x 88#else 89# define P_(x) /**/ 90#endif 91 92extern void MCAddSet P_((int setId, char *c)); 93extern void MCDelSet P_((int setId)); 94extern void MCAddMsg P_((int msgId, char *msg, char *c)); 95extern void MCDelMsg P_((int msgId)); 96extern void MCParse P_((int fd)); 97extern void MCReadCat P_((int fd)); 98extern void MCWriteConst P_((int fd, int type, int orConsts)); 99extern void MCWriteCat P_((int fd)); 100extern long MCGetByteOrder P_((void)); 101 102#ifndef True 103# define True ~0 104# define False 0 105#endif 106 107#endif 108