Changeset 1323:ad8d25a78446 in roaraudio for include/libroar
- Timestamp:
- 03/22/09 20:11:03 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vio_dstr.h
r1321 r1323 38 38 #include "libroar.h" 39 39 40 #define ROAR_VIO_DEF_TYPE_EOL -1 41 #define ROAR_VIO_DEF_TYPE_NONE 0 42 #define ROAR_VIO_DEF_TYPE_FILE 1 43 #define ROAR_VIO_DEF_TYPE_SOCKET 2 44 #define ROAR_VIO_DEF_TYPE_FH 3 45 #define ROAR_VIO_DEF_TYPE_SOCKETFH 4 46 47 #define ROAR_VIO_DSTR_OBJGT_INTERNAL 0x0000 48 #define ROAR_VIO_DSTR_OBJGT_GEN 0x0100 49 #define ROAR_VIO_DSTR_OBJGT_SOCKET 0x0200 50 #define ROAR_VIO_DSTR_OBJGT_PROXY 0x0300 51 #define ROAR_VIO_DSTR_OBJGT_COMP 0x0400 /* compression */ 52 #define ROAR_VIO_DSTR_OBJGT_CRYPT 0x0500 53 #define ROAR_VIO_DSTR_OBJGT_PROTO 0x0600 /* protocolls like HTTP and Gopher */ 54 #define ROAR_VIO_DSTR_OBJGT_SPECAL 0xff00 55 56 #define ROAR_VIO_DSTR_OBJT_EOL -1 57 #define ROAR_VIO_DSTR_OBJT_NONE 0 58 #define ROAR_VIO_DSTR_OBJT_INTERNAL 1 59 60 #define ROAR_VIO_DSTR_OBJT_FILE (0x01|ROAR_VIO_DSTR_OBJGT_GEN) 61 #define ROAR_VIO_DSTR_OBJT_FH (0x02|ROAR_VIO_DSTR_OBJGT_GEN) 62 #define ROAR_VIO_DSTR_OBJT_SOCKETFH (0x03|ROAR_VIO_DSTR_OBJGT_GEN) 63 /* some space to add memory FHs and the like */ 64 #define ROAR_VIO_DSTR_OBJT_PASS (0x10|ROAR_VIO_DSTR_OBJGT_GEN) 65 #define ROAR_VIO_DSTR_OBJT_RE (0x11|ROAR_VIO_DSTR_OBJGT_GEN) 66 #define ROAR_VIO_DSTR_OBJT_EXEC (0x20|ROAR_VIO_DSTR_OBJGT_GEN) 67 68 #define ROAR_VIO_DSTR_OBJT_SOCKET (0x01|ROAR_VIO_DSTR_OBJGT_SOCKET) 69 #define ROAR_VIO_DSTR_OBJT_UNIX (0x02|ROAR_VIO_DSTR_OBJGT_SOCKET) 70 #define ROAR_VIO_DSTR_OBJT_DECNET (0x10|ROAR_VIO_DSTR_OBJGT_SOCKET) 71 #define ROAR_VIO_DSTR_OBJT_TCP (0x21|ROAR_VIO_DSTR_OBJGT_SOCKET) 72 #define ROAR_VIO_DSTR_OBJT_UDP (0x22|ROAR_VIO_DSTR_OBJGT_SOCKET) 73 #define ROAR_VIO_DSTR_OBJT_TCP6 (0x31|ROAR_VIO_DSTR_OBJGT_SOCKET) 74 #define ROAR_VIO_DSTR_OBJT_UDP6 (0x32|ROAR_VIO_DSTR_OBJGT_SOCKET) 75 76 #define ROAR_VIO_DSTR_OBJT_SOCKS (0x10|ROAR_VIO_DSTR_OBJGT_PROXY) 77 #define ROAR_VIO_DSTR_OBJT_SOCKS4 (0x14|ROAR_VIO_DSTR_OBJGT_PROXY) 78 #define ROAR_VIO_DSTR_OBJT_SOCKS4A (0x1a|ROAR_VIO_DSTR_OBJGT_PROXY) 79 #define ROAR_VIO_DSTR_OBJT_SOCKS4D (0x1d|ROAR_VIO_DSTR_OBJGT_PROXY) 80 #define ROAR_VIO_DSTR_OBJT_SOCKS5 (0x15|ROAR_VIO_DSTR_OBJGT_PROXY) 81 #define ROAR_VIO_DSTR_OBJT_SSH (0x21|ROAR_VIO_DSTR_OBJGT_PROXY) 82 //#define ROAR_VIO_DSTR_OBJT_HTTP (0x31|ROAR_VIO_DSTR_OBJGT_PROXY) 83 84 //#define ROAR_VIO_DSTR_OBJT_HTTP (0x10|ROAR_VIO_DSTR_OBJGT_PROTO) 85 #define ROAR_VIO_DSTR_OBJT_HTTP09 (0x11|ROAR_VIO_DSTR_OBJGT_PROTO) 86 #define ROAR_VIO_DSTR_OBJT_HTTP10 (0x12|ROAR_VIO_DSTR_OBJGT_PROTO) 87 #define ROAR_VIO_DSTR_OBJT_HTTP11 (0x13|ROAR_VIO_DSTR_OBJGT_PROTO) 88 #define ROAR_VIO_DSTR_OBJT_HTTP ROAR_VIO_DSTR_OBJT_HTTP11 89 #define ROAR_VIO_DSTR_OBJT_GOPHER (0x21|ROAR_VIO_DSTR_OBJGT_PROTO) 90 91 /* 92 #define ROAR_VIO_DSTR_OBJGT_CRYPT 0x0500 93 */ 94 95 #define ROAR_VIO_DSTR_OBJT_GZIP (0x10|ROAR_VIO_DSTR_OBJGT_COMP) 96 #define ROAR_VIO_DSTR_OBJT_BZIP2 (0x22|ROAR_VIO_DSTR_OBJGT_COMP) 97 98 #define ROAR_VIO_DSTR_OBJT_PGP (0x10|ROAR_VIO_DSTR_OBJGT_CRYPT) 99 #define ROAR_VIO_DSTR_OBJT_PGP_ENC (0x11|ROAR_VIO_DSTR_OBJGT_CRYPT) 100 #define ROAR_VIO_DSTR_OBJT_PGP_STORE (0x11|ROAR_VIO_DSTR_OBJGT_CRYPT) 101 #define ROAR_VIO_DSTR_OBJT_SSL1 (0x21|ROAR_VIO_DSTR_OBJGT_CRYPT) 102 #define ROAR_VIO_DSTR_OBJT_SSL2 (0x22|ROAR_VIO_DSTR_OBJGT_CRYPT) 103 #define ROAR_VIO_DSTR_OBJT_SSL3 (0x23|ROAR_VIO_DSTR_OBJGT_CRYPT) 104 #define ROAR_VIO_DSTR_OBJT_TLS (0x2a|ROAR_VIO_DSTR_OBJGT_CRYPT) 105 #define ROAR_VIO_DSTR_OBJT_SSLTLS ROAR_VIO_DSTR_OBJT_TLS 106 107 #define ROAR_VIO_DSTR_OBJT_MAGIC (0x01|ROAR_VIO_DSTR_OBJGT_SPECAL) 108 109 110 struct roar_vio_defaults { 111 int type; 112 113 mode_t o_mode; 114 int o_flags; 115 116 union { 117 char * file; 118 int fh; 119 struct { 120 int domain; 121 int type; 122 char * host; 123 struct sockaddr * sa; 124 socklen_t len; 125 } socket; 126 } d; 127 }; 128 129 struct roar_vio_dstr_chain { 130 int type; 131 char * opts; 132 char * dst; 133 int need_vio; 134 struct roar_vio_defaults * def; 135 struct roar_vio_calls * vio; 136 }; 137 138 int roar_vio_dstr_get_type(char * str); 139 char * roar_vio_dstr_get_name(int type); 140 141 int roar_vio_dstr_init_defaults (struct roar_vio_defaults * def, int type, int o_flags, mode_t o_mode); 142 143 int roar_vio_open_dstr (struct roar_vio_calls * calls, char * dstr, struct roar_vio_defaults * def, int dnum); 144 int roar_vio_open_dstr_vio(struct roar_vio_calls * calls, char * dstr, struct roar_vio_defaults * def, int dnum, struct roar_vio_calls * vio); 145 146 int roar_vio_dstr_parse_opts(struct roar_vio_dstr_chain * chain); 147 int roar_vio_dstr_set_defaults(struct roar_vio_dstr_chain * chain); 148 int roar_vio_dstr_build_chain(struct roar_vio_dstr_chain * chain, struct roar_vio_calls * calls, struct roar_vio_calls * vio); 149 40 150 #endif 41 151
Note: See TracChangeset
for help on using the changeset viewer.