home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / c / c2man-2.0pl33.lha / c2man-2.0 / vms / config.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-24  |  9.7 KB  |  332 lines

  1. /*
  2.  * This file was produced by running the config_h.SH script, which
  3.  * gets its values from config.sh, which is generally produced by
  4.  * running Configure.
  5.  *
  6.  * Feel free to modify any of this as the need arises.  Note, however,
  7.  * that running config.h.SH again will wipe out any changes you've made.
  8.  * For a more permanent change edit config.sh and rerun config.h.SH.
  9.  *
  10.  * $Id: config.h,v 2.0.1.1 1994/05/19 01:10:45 greyham Exp $
  11.  */
  12.  
  13. /* Configuration time: Tue Apr 26 09:56:37 PDT 1994
  14.  * Configured by: flower
  15.  * Target system: sunos flower 4.1.3 3 sun4 
  16.  */
  17.  
  18. #ifndef _config_h_
  19. #define _config_h_
  20.  
  21. #ifdef VMS
  22. /*
  23.  * Access call.  Also maintained in unistd.h
  24.  */
  25. #define F_OK            0       /* does file exist */
  26. #define X_OK            1       /* is it executable by caller */
  27. #define W_OK            2       /* writable by caller */
  28. #define R_OK            4       /* readable by caller */
  29.  
  30. /* VMS does not have unlink() */
  31. #define unlink(s)    delete(s)
  32. #endif
  33.  
  34. /* BSD:
  35.  *    This symbol, if defined, indicates that the program is running under
  36.  *    a BSD system.
  37.  */
  38. /*#define BSD        */
  39.  
  40. /* CPP_FILE_COM:
  41.  *    This symbol contains the first part of the string which will invoke
  42.  *    the C preprocessor a file and produce to standard output, preserving
  43.  *    comments. Typical value of "cc -E -C" or "/lib/cpp -C".
  44.  */
  45. /* CPP_STDIN_FLAGS:
  46.  *    This variable contains any flags necessary to get CPP_FILE_COM to
  47.  *    read from the standard input.
  48.  */
  49. /* CPP_IGN_HDRS:
  50.  *    This symbol is defined if CPP_FILE_COM ignores *.h files.
  51.  */
  52. /* CPP_CAN_STDIN:
  53.  *    This symbol is defined if CPP_FILE_COM can read standard input
  54.  *    directly.
  55.  */
  56. #define CPP_FILE_COM "cpp -\"C\""
  57. #define CPP_STDIN_FLAGS "\"-\""
  58. /*#define CPP_IGN_HDRS    */    /* does CPP ignore .h files? */
  59. #define CPP_CAN_STDIN             /* can CPP read stdin directly? */
  60.  
  61. /* HAS_ACCESS:
  62.  *    This manifest constant lets the C program know that the access()
  63.  *    system call is available to check for accessibility using real UID/GID.
  64.  *    (always present on UNIX.)
  65.  */
  66. #define HAS_ACCESS        /**/
  67.  
  68. /* HASCONST:
  69.  *    This symbol, if defined, indicates that this C compiler knows about
  70.  *    the const type. There is no need to actually test for that symbol
  71.  *    within your programs. The mere use of the "const" keyword will
  72.  *    trigger the necessary tests.
  73.  */
  74. #define HASCONST    /**/
  75. #ifndef HASCONST
  76. #define const
  77. #endif
  78.  
  79. /* FLEXFILENAMES:
  80.  *    This symbol, if defined, indicates that the system supports filenames
  81.  *    longer than 14 characters.
  82.  */
  83. #define    FLEXFILENAMES        /**/
  84.  
  85. /* HAS_LINK:
  86.  *    This symbol, if defined, indicates that the link routine is
  87.  *    available to create hard links.
  88.  */
  89. /*#define HAS_LINK    */
  90.  
  91. /* HAS_OPEN3:
  92.  *    This manifest constant lets the C program know that the three
  93.  *    argument form of open(2) is available.
  94.  */
  95. #define HAS_OPEN3        /**/
  96.  
  97. /* HAS_STRCHR:
  98.  *    This symbol is defined to indicate that the strchr()/strrchr()
  99.  *    functions are available for string searching. If not, try the
  100.  *    index()/rindex() pair.
  101.  */
  102. /* HAS_INDEX:
  103.  *    This symbol is defined to indicate that the index()/rindex()
  104.  *    functions are available for string searching.
  105.  */
  106. #define HAS_STRCHR    /**/
  107. /*#define HAS_INDEX    /**/
  108.  
  109. /* HAS_STRFTIME:
  110.  *    This symbol, if defined, indicates that the strftime routine is
  111.  *    available to format locale-specific times.
  112.  */
  113. /*#define HAS_STRFTIME    */
  114.  
  115. /* HAS_STRSTR:
  116.  *    This symbol, if defined, indicates that the strstr routine is
  117.  *    available to find substrings.
  118.  */
  119. #define HAS_STRSTR    /**/
  120.  
  121. /* HAS_SYMLINK:
  122.  *    This symbol, if defined, indicates that the symlink routine is available
  123.  *    to create symbolic links.
  124.  */
  125. /*#define HAS_SYMLINK    */
  126.  
  127. /* Time_t:
  128.  *    This symbol holds the type returned by time(). It can be long,
  129.  *    or time_t on BSD sites (in which case <sys/types.h> should be
  130.  *    included).
  131.  */
  132. #define Time_t long        /* Time type */
  133.  
  134. /* Signal_t:
  135.  *    This symbol's value is either "void" or "int", corresponding to the
  136.  *    appropriate return type of a signal handler.  Thus, you can declare
  137.  *    a signal handler using "Signal_t (*handler)()", and define the
  138.  *    handler using "Signal_t handler(sig)".
  139.  */
  140. #define Signal_t void    /* Signal handler's return type */
  141.  
  142. /* HASVOLATILE:
  143.  *    This symbol, if defined, indicates that this C compiler knows about
  144.  *    the volatile declaration.
  145.  */
  146. /*#define    HASVOLATILE    */
  147. #ifndef HASVOLATILE
  148. #define volatile
  149. #endif
  150.  
  151. /* I_FCNTL:
  152.  *    This manifest constant tells the C program to include <fcntl.h>.
  153.  */
  154. /*#define I_FCNTL    /**/
  155.  
  156. /* I_STDARG:
  157.  *    This symbol, if defined, indicates that <stdarg.h> exists and should
  158.  *    be included.
  159.  */
  160. #define I_STDARG        /**/
  161.  
  162. /* I_STDDEF:
  163.  *    This symbol, if defined, indicates that <stddef.h> exists and should
  164.  *    be included.
  165.  */
  166. #define I_STDDEF    /**/
  167.  
  168. /* I_STDLIB:
  169.  *    This symbol, if defined, indicates that <stdlib.h> exists and should
  170.  *    be included.
  171.  */
  172. #define I_STDLIB        /**/
  173.  
  174. /* I_STRING:
  175.  *    This symbol, if defined, indicates to the C program that it should
  176.  *    include <string.h> (USG systems) instead of <strings.h> (BSD systems).
  177.  */
  178. #define I_STRING        /**/
  179.  
  180. /* I_SYS_FILE:
  181.  *    This symbol, if defined, indicates to the C program that it should
  182.  *    include <sys/file.h> to get definition of R_OK and friends.
  183.  */
  184. #define I_SYS_FILE        /**/
  185.  
  186. /* I_SYS_TYPES:
  187.  *    This symbol, if defined, indicates to the C program that it should
  188.  *    include <sys/types.h>.
  189.  */
  190. /*#define    I_SYS_TYPES        */
  191.  
  192. /* I_TIME:
  193.  *    This symbol, if defined, indicates to the C program that it should
  194.  *    include <time.h>.
  195.  */
  196. /* I_SYS_TIME:
  197.  *    This symbol, if defined, indicates to the C program that it should
  198.  *    include <sys/time.h>.
  199.  */
  200. #define I_TIME        /**/
  201. /*#define I_SYS_TIME        */
  202.  
  203. /* I_UNISTD:
  204.  *    This symbol, if defined, indicates to the C program that it should
  205.  *    include <unistd.h>.
  206.  */
  207. /*#define I_UNISTD        */
  208.  
  209. /* I_VARARGS:
  210.  *    This symbol, if defined, indicates to the C program that it should
  211.  *    include <varargs.h>.
  212.  */
  213. /*#define I_VARARGS        */
  214.  
  215. /* CAN_PROTOTYPE:
  216.  *    If defined, this macro indicates that the C compiler can handle
  217.  *    function prototypes.
  218.  */
  219. /* DOTS:
  220.  *    This macro is used to specify the ... in function prototypes which
  221.  *    have arbitrary additional arguments.
  222.  */
  223. /* NXT_ARG:
  224.  *    This macro is used to separate arguments in the declared argument list.
  225.  */
  226. /* P_FUNC:
  227.  *    This macro is used to declare "private" (static) functions.
  228.  *    It takes three arguments: the function type and name, a parenthesized
  229.  *    traditional (comma separated) argument list, and the declared argument
  230.  *    list (in which arguments are separated with NXT_ARG, and additional
  231.  *    arbitrary arguments are specified with DOTS).  For example:
  232.  *
  233.  *        P_FUNC(int foo, (bar, baz), int bar NXT_ARG char *baz[])
  234.  */
  235. /* P_FUNC_VOID:
  236.  *    This macro is used to declare "private" (static) functions that have
  237.  *    no arguments.  The macro takes one argument: the function type and name.
  238.  *    For example:
  239.  *
  240.  *        P_FUNC_VOID(int subr)
  241.  */
  242. /* V_FUNC:
  243.  *    This macro is used to declare "public" (non-static) functions.
  244.  *    It takes three arguments: the function type and name, a parenthesized
  245.  *    traditional (comma separated) argument list, and the declared argument
  246.  *    list (in which arguments are separated with NXT_ARG, and additional
  247.  *    arbitrary arguments are specified with DOTS).  For example:
  248.  *
  249.  *        V_FUNC(int main, (argc, argv), int argc NXT_ARG char *argv[])
  250.  */
  251. /* V_FUNC_VOID:
  252.  *    This macro is used to declare "public" (non-static) functions that have
  253.  *    no arguments.  The macro takes one argument: the function type and name.
  254.  *    For example:
  255.  *
  256.  *        V_FUNC_VOID(int fork)
  257.  */
  258. /* _:
  259.  *    This macro is used to declare function parameters for folks who want
  260.  *    to make declarations with prototypes using a different style than
  261.  *    the above macros.  Use double parentheses.  For example:
  262.  *
  263.  *        int main _((int argc, char *argv[]));
  264.  */
  265. #define    CAN_PROTOTYPE    /**/
  266. #ifdef CAN_PROTOTYPE
  267. #define    NXT_ARG ,
  268. #define    DOTS , ...
  269. #define    V_FUNC(name, arglist, args)name(args)
  270. #define    P_FUNC(name, arglist, args)static name(args)
  271. #define    V_FUNC_VOID(name)name(void)
  272. #define    P_FUNC_VOID(name)static name(void)
  273. #define    _(args) args
  274. #else
  275. #define    NXT_ARG ;
  276. #define    DOTS
  277. #define    V_FUNC(name, arglist, args)name arglist args;
  278. #define    P_FUNC(name, arglist, args)static name arglist args;
  279. #define    V_FUNC_VOID(name)name()
  280. #define    P_FUNC_VOID(name)static name()
  281. #define    _(args) ()
  282. #endif
  283.  
  284. /* CAN_VAPROTO:
  285.  *    This variable is defined on systems supporting prototype declaration
  286.  *    of functions with a variable number of arguments.
  287.  */
  288. /* _V:
  289.  *    This macro is used to declare function parameters in prototypes for
  290.  *    functions with a variable number of parameters. Use double parentheses.
  291.  *    For example:
  292.  *
  293.  *        int printf _V((char *fmt, ...));
  294.  *
  295.  *    Remember to use the plain simple _() macro when declaring a function
  296.  *    with no variable number of arguments, since it might be possible to
  297.  *    have a non-effect _V() macro and still get prototypes via _().
  298.  */
  299. #define CAN_VAPROTO    /**/
  300. #ifdef CAN_VAPROTO
  301. #define    _V(args) args
  302. #else
  303. #define    _V(args) ()
  304. #endif
  305.  
  306. /* VOIDFLAGS:
  307.  *    This symbol indicates how much support of the void type is given by this
  308.  *    compiler.  What various bits mean:
  309.  *
  310.  *        1 = supports declaration of void
  311.  *        2 = supports arrays of pointers to functions returning void
  312.  *        4 = supports comparisons between pointers to void functions and
  313.  *            addresses of void functions
  314.  *        8 = suports declaration of generic void pointers
  315.  *
  316.  *    The package designer should define VOIDUSED to indicate the requirements
  317.  *    of the package.  This can be done either by #defining VOIDUSED before
  318.  *    including config.h, or by defining defvoidused in Myinit.U.  If the
  319.  *    latter approach is taken, only those flags will be tested.  If the
  320.  *    level of void support necessary is not present, defines void to int.
  321.  */
  322. #ifndef VOIDUSED
  323. #define VOIDUSED 9
  324. #endif
  325. #define VOIDFLAGS 9
  326. #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
  327. #define void int        /* is void to be avoided? */
  328. #define M_VOID            /* Xenix strikes again */
  329. #endif
  330.  
  331. #endif
  332.