xref: /freebsd/contrib/ntp/sntp/libopts/autoopts/project.h (revision ba3c1f5972d7b90feb6e6da47905ff2757e0fe57)
1 
2 /**
3  * \file project.h
4  *
5  *  This file is part of AutoOpts, a companion to AutoGen.
6  *  AutoOpts is free software.
7  *  AutoOpts is Copyright (C) 1992-2018 by Bruce Korb - all rights reserved
8  *
9  *  AutoOpts is available under any one of two licenses.  The license
10  *  in use must be one of these two and the choice is under the control
11  *  of the user of the license.
12  *
13  *   The GNU Lesser General Public License, version 3 or later
14  *      See the files "COPYING.lgplv3" and "COPYING.gplv3"
15  *
16  *   The Modified Berkeley Software Distribution License
17  *      See the file "COPYING.mbsd"
18  *
19  *  These files have the following sha256 sums:
20  *
21  *  8584710e9b04216a394078dc156b781d0b47e1729104d666658aecef8ee32e95  COPYING.gplv3
22  *  4379e7444a0e2ce2b12dd6f5a52a27a4d02d39d247901d3285c88cf0d37f477b  COPYING.lgplv3
23  *  13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239  COPYING.mbsd
24  */
25 
26 #ifndef AUTOGEN_PROJECT_H
27 #define AUTOGEN_PROJECT_H
28 
29 #include "config.h"
30 #include "compat/compat.h"
31 #include "ag-char-map.h"
32 
33 /*
34  *  Procedure success codes
35  *
36  *  USAGE:  define procedures to return "tSuccess".  Test their results
37  *          with the SUCCEEDED, FAILED and HADGLITCH macros.
38  *
39  *  Microsoft sticks its nose into user space here, so for Windows' sake,
40  *  make sure all of these are undefined.
41  */
42 #undef  SUCCESS
43 #undef  FAILURE
44 #undef  PROBLEM
45 #undef  SUCCEEDED
46 #undef  SUCCESSFUL
47 #undef  FAILED
48 #undef  HADGLITCH
49 
50 #define SUCCESS  ((tSuccess) 0)
51 #define FAILURE  ((tSuccess)-1)
52 #define PROBLEM  ((tSuccess) 1)
53 
54 typedef int tSuccess;
55 
56 #define SUCCEEDED(p)    ((p) == SUCCESS)
57 #define SUCCESSFUL(p)   SUCCEEDED(p)
58 #define FAILED(p)       ((p) <  SUCCESS)
59 #define HADGLITCH(p)    ((p) >  SUCCESS)
60 
61 #ifndef STR
62 #  define __STR(s)      #s
63 #  define STR(s)        __STR(s)
64 #endif
65 
66 #ifdef DEFINING
67 #  define VALUE(s)      = s
68 #  define MODE
69 #else
70 #  define VALUE(s)
71 #  define MODE extern
72 #endif
73 
74 #undef NUL
75 #define NUL '\0'
76 
77 #define MOD_LOCAL static
78 #define parse_duration option_parse_duration
79 
80 #ifdef _MSC_VER
81 #define lo_noreturn __declspec(noreturn)
82 #else
83 #define lo_noreturn noreturn
84 #endif
85 
86 #endif /* AUTOGEN_PROJECT_H */
87 /* end of project.h */
88