nexmon – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 /* source: xioopen.h */
2 /* Copyright Gerhard Rieger 2001-2008 */
3 /* Published under the GNU General Public License V.2, see file COPYING */
4  
5 #ifndef __xioopen_h_included
6 #define __xioopen_h_included 1
7  
8 #include "compat.h" /* F_pid */
9 #include "mytypes.h"
10 #include "error.h"
11 #include "utils.h"
12 #include "sysutils.h"
13  
14 #include "sycls.h"
15 #include "sslcls.h"
16 #include "dalan.h"
17 #include "filan.h"
18 #include "xio.h"
19 #include "xioopts.h"
20  
21  
22 #if WITH_HELP
23 #define HELP(x) , x
24 #else
25 #define HELP(x)
26 #endif
27  
28  
29  
30 /* xioinitialize performs asserts on these records */
31 extern const struct optdesc opt_crdly;
32 extern const struct optdesc opt_tabdly;
33 extern const struct optdesc opt_csize;
34  
35  
36 struct xioaddrname {
37 const char *name;
38 const union xioaddr_desc **desc;
39 } ;
40  
41 struct xioaddr_endpoint_name {
42 const char *name;
43 const struct xioaddr_endpoint_desc **desc;
44 } ;
45  
46 extern const char *ddirection[];
47 extern const char *filetypenames[];
48 extern const struct xioaddrname address_names[];
49 extern const struct optname optionnames[];
50  
51 extern xiofile_t *socat_open(const char *addrs0, int dirs, int flags);
52 extern xiofile_t *xioparse_dual(const char **addr);
53 extern int xioopen_inter_dual(xiofile_t *xfd, int xioflags);
54 extern int xioopen_endpoint_dual(xiofile_t *xfd, int xioflags);
55 extern int xioopen_makedual(xiofile_t *file);
56  
57 #define retropt_2bytes(o,c,r) retropt_ushort(o,c,r)
58  
59 /* mode_t might be unsigned short or unsigned int or what else? */
60 #if HAVE_BASIC_MODE_T==1
61 # define retropt_modet(x,y,z) retropt_short(x,y,z)
62 #elif HAVE_BASIC_MODE_T==2
63 # define retropt_modet(x,y,z) retropt_ushort(x,y,z)
64 #elif HAVE_BASIC_MODE_T==3
65 # define retropt_modet(x,y,z) retropt_int(x,y,z)
66 #elif HAVE_BASIC_MODE_T==4
67 # define retropt_modet(x,y,z) retropt_uint(x,y,z)
68 #elif HAVE_BASIC_MODE_T==5
69 # define retropt_modet(x,y,z) retropt_long(x,y,z)
70 #elif HAVE_BASIC_MODE_T==6
71 # define retropt_modet(x,y,z) retropt_ulong(x,y,z)
72 #endif
73  
74 #if HAVE_BASIC_UID_T==1
75 # define retropt_uidt(x,y,z) retropt_short(x,y,z)
76 #elif HAVE_BASIC_UID_T==2
77 # define retropt_uidt(x,y,z) retropt_ushort(x,y,z)
78 #elif HAVE_BASIC_UID_T==3
79 # define retropt_uidt(x,y,z) retropt_int(x,y,z)
80 #elif HAVE_BASIC_UID_T==4
81 # define retropt_uidt(x,y,z) retropt_uint(x,y,z)
82 #elif HAVE_BASIC_UID_T==5
83 # define retropt_uidt(x,y,z) retropt_long(x,y,z)
84 #elif HAVE_BASIC_UID_T==6
85 # define retropt_uidt(x,y,z) retropt_ulong(x,y,z)
86 #endif
87  
88 #if HAVE_BASIC_GID_T==1
89 # define retropt_gidt(x,y,z) retropt_short(x,y,z)
90 #elif HAVE_BASIC_GID_T==2
91 # define retropt_gidt(x,y,z) retropt_ushort(x,y,z)
92 #elif HAVE_BASIC_GID_T==3
93 # define retropt_gidt(x,y,z) retropt_int(x,y,z)
94 #elif HAVE_BASIC_GID_T==4
95 # define retropt_gidt(x,y,z) retropt_uint(x,y,z)
96 #elif HAVE_BASIC_GID_T==5
97 # define retropt_gidt(x,y,z) retropt_long(x,y,z)
98 #elif HAVE_BASIC_GID_T==6
99 # define retropt_gidt(x,y,z) retropt_ulong(x,y,z)
100 #endif
101  
102  
103 #endif /* !defined(__xioopen_h_included) */