Postfix3.3.1
attr_override.h
[詳解]
1 #ifndef _ATTR_OVERRIDE_H_INCLUDED_
2 #define _ATTR_OVERRIDE_H_INCLUDED_
3 
4 /*++
5 /* NAME
6 /* attr_override 3h
7 /* SUMMARY
8 /* apply name=value settings from string
9 /* SYNOPSIS
10 /* #include <attr_override.h>
11 /* DESCRIPTION
12 /* .nf
13 
14  /*
15  * External interface.
16  */
17 #include <check_arg.h>
18 
19 extern void attr_override(char *, const char *, const char *,...);
20 
21 typedef struct {
22  const char *name;
24  int min;
25  int max;
27 
28 typedef struct {
29  const char *name;
30  const char *defval;
31  int *target;
32  int min;
33  int max;
35 
36 typedef struct {
37  const char *name;
38  int *target;
39  int min;
40  int max;
42 
43 /* Type-unchecked API, internal use only. */
44 #define ATTR_OVER_END 0
45 #define ATTR_OVER_STR_TABLE 1
46 #define ATTR_OVER_TIME_TABLE 2
47 #define ATTR_OVER_INT_TABLE 3
48 
49 /* Type-checked API, external use only. */
50 #define CA_ATTR_OVER_END 0
51 #define CA_ATTR_OVER_STR_TABLE(v) ATTR_OVER_STR_TABLE, CHECK_CPTR(ATTR_OVER, ATTR_OVER_STR, (v))
52 #define CA_ATTR_OVER_TIME_TABLE(v) ATTR_OVER_TIME_TABLE, CHECK_CPTR(ATTR_OVER, ATTR_OVER_TIME, (v))
53 #define CA_ATTR_OVER_INT_TABLE(v) ATTR_OVER_INT_TABLE, CHECK_CPTR(ATTR_OVER, ATTR_OVER_INT, (v))
54 
58 
59 /* LICENSE
60 /* .ad
61 /* .fi
62 /* The Secure Mailer license must be distributed with this software.
63 /* AUTHOR(S)
64 /* Wietse Venema
65 /* IBM T.J. Watson Research
66 /* P.O. Box 704
67 /* Yorktown Heights, NY 10598, USA
68 /*--*/
69 
70 #endif
CHECK_CPTR_HELPER_DCL(ATTR_OVER, ATTR_OVER_TIME)
const char * name
Definition: attr_override.h:29
const char * name
Definition: attr_override.h:37
const char * name
Definition: attr_override.h:22
const char * defval
Definition: attr_override.h:30
const char * CONST_CHAR_STAR
Definition: sys_defs.h:1730
void attr_override(char *, const char *, const char *,...)
Definition: attr_override.c:91
CONST_CHAR_STAR * target
Definition: attr_override.h:23