source: roaraudio/include/libroar/socket.h @ 509:17952ed84309

Last change on this file since 509:17952ed84309 was 509:17952ed84309, checked in by phi, 16 years ago

started with IPv6 support

File size: 1.7 KB
Line 
1//libroar.h:
2
3#ifndef _LIBROARSOCKET_H_
4#define _LIBROARSOCKET_H_
5
6#include "libroar.h"
7
8#define ROAR_SOCKET_MODE_LISTEN  1
9#define ROAR_SOCKET_MODE_CONNECT 2
10
11#define ROAR_SOCKET_TYPE_NONE 0
12#define ROAR_SOCKET_TYPE_UNKNOWN ROAR_SOCKET_TYPE_NONE
13#define ROAR_SOCKET_TYPE_INET 1
14#define ROAR_SOCKET_TYPE_TCP  ROAR_SOCKET_TYPE_INET
15#define ROAR_SOCKET_TYPE_UNIX 2
16#define ROAR_SOCKET_TYPE_FORK 3
17#define ROAR_SOCKET_TYPE_PIPE ROAR_SOCKET_TYPE_FORK
18#define ROAR_SOCKET_TYPE_FILE 4
19#define ROAR_SOCKET_TYPE_UDP  5
20#define ROAR_SOCKET_TYPE_GENSTR 6 /* generic stream: TCP or UNIX */
21#define ROAR_SOCKET_TYPE_DECNET 7 /* DECnet */
22
23#define ROAR_SOCKET_TYPE_MAX  4
24
25#define ROAR_SOCKET_QUEUE_LEN 8
26
27#define ROAR_SOCKET_BLOCK     1
28#define ROAR_SOCKET_NONBLOCK  2
29
30#define ROAR_SOCKET_MAX_HOSTNAMELEN 64
31
32int roar_socket_listen  (int type, char * host, int port);
33int roar_socket_connect (char * host, int port);
34
35int roar_socket_new_tcp    (void);
36int roar_socket_new_udp    (void);
37int roar_socket_new_tcp6   (void);
38int roar_socket_new_udp6   (void);
39int roar_socket_new_unix   (void);
40int roar_socket_new_decnet_seqpacket (void);
41int roar_socket_new_decnet_stream (void);
42
43int roar_socket_open       (int mode, int type, char * host, int port);
44int roar_socket_open_fork  (int mode, char * host, int port);
45int roar_socket_open_file  (int mode, char * host, int port);
46int roar_socket_open_proxy (int mode, int type, char * host, int port, char * proxy_type);
47
48int roar_socket_listen_decnet (char * object, int num);
49
50int roar_socket_nonblock(int fh, int state);
51
52int roar_socket_dup_udp_local_end (int fh);
53
54int roar_socket_open_socks4a(int mode, int fh, char * host, int port);
55
56#endif
57
58//ll
Note: See TracBrowser for help on using the repository browser.