Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtksh / ksh93 / src / lib / libast / string / modelib.h
1 /* $XConsortium: modelib.h /main/3 1995/11/01 18:47:23 rswiston $ */
2 /***************************************************************
3 *                                                              *
4 *                      AT&T - PROPRIETARY                      *
5 *                                                              *
6 *         THIS IS PROPRIETARY SOURCE CODE LICENSED BY          *
7 *                          AT&T CORP.                          *
8 *                                                              *
9 *                Copyright (c) 1995 AT&T Corp.                 *
10 *                     All Rights Reserved                      *
11 *                                                              *
12 *           This software is licensed by AT&T Corp.            *
13 *       under the terms and conditions of the license in       *
14 *       http://www.research.att.com/orgs/ssr/book/reuse        *
15 *                                                              *
16 *               This software was created by the               *
17 *           Software Engineering Research Department           *
18 *                    AT&T Bell Laboratories                    *
19 *                                                              *
20 *               For further information contact                *
21 *                     gsf@research.att.com                     *
22 *                                                              *
23 ***************************************************************/
24
25 /* : : generated by proto : : */
26                   
27 /*
28  * Glenn Fowler
29  * AT&T Bell Laboratories
30  *
31  * mode_t common definitions
32  */
33
34 #ifndef _MODELIB_H
35 #if !defined(__PROTO__)
36 #if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
37 #if defined(__cplusplus)
38 #define __MANGLE__      "C"
39 #else
40 #define __MANGLE__
41 #endif
42 #define __STDARG__
43 #define __PROTO__(x)    x
44 #define __OTORP__(x)
45 #define __PARAM__(n,o)  n
46 #if !defined(__STDC__) && !defined(__cplusplus)
47 #if !defined(c_plusplus)
48 #define const
49 #endif
50 #define signed
51 #define void            int
52 #define volatile
53 #define __V_            char
54 #else
55 #define __V_            void
56 #endif
57 #else
58 #define __PROTO__(x)    ()
59 #define __OTORP__(x)    x
60 #define __PARAM__(n,o)  o
61 #define __MANGLE__
62 #define __V_            char
63 #define const
64 #define signed
65 #define void            int
66 #define volatile
67 #endif
68 #if defined(__cplusplus) || defined(c_plusplus)
69 #define __VARARG__      ...
70 #else
71 #define __VARARG__
72 #endif
73 #if defined(__STDARG__)
74 #define __VA_START__(p,a)       va_start(p,a)
75 #else
76 #define __VA_START__(p,a)       va_start(p)
77 #endif
78 #endif
79
80 #define _MODELIB_H
81
82 #include <ast.h>
83 #include <ls.h>
84 #include <modex.h>
85
86 #define MODELEN 10
87 #define PERMLEN 24
88
89 #define modetab _mode_table_    /* data hiding                          */
90 #define permmap _mode_permmap_  /* data hiding                          */
91
92 struct modeop                   /* ops for each char in mode string     */
93 {
94         int     mask1;          /* first mask                           */
95         int     shift1;         /* first shift count                    */
96         int     mask2;          /* second mask                          */
97         int     shift2;         /* second shift count                   */
98         char*   name;           /* mode char using mask/shift as index  */
99 };
100
101 extern __MANGLE__ struct modeop modetab[];
102 extern __MANGLE__ int           permmap[];
103
104 #endif