source: roaraudio/include/libroar/socket.h @ 508:1129ff87dd1e

Last change on this file since 508:1129ff87dd1e was 508:1129ff87dd1e, checked in by phi, 16 years ago

added DECnet listen support, introused -n/--decnet to roard, added woraround to Linux DECnet stack bugs on streams and added some helpfull DECnet macros, puh...

File size: 1.6 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_unix   (void);
38int roar_socket_new_decnet_seqpacket (void);
39int roar_socket_new_decnet_stream (void);
40
41int roar_socket_open       (int mode, int type, char * host, int port);
42int roar_socket_open_fork  (int mode, char * host, int port);
43int roar_socket_open_file  (int mode, char * host, int port);
44int roar_socket_open_proxy (int mode, int type, char * host, int port, char * proxy_type);
45
46int roar_socket_listen_decnet (char * object, int num);
47
48int roar_socket_nonblock(int fh, int state);
49
50int roar_socket_dup_udp_local_end (int fh);
51
52int roar_socket_open_socks4a(int mode, int fh, char * host, int port);
53
54#endif
55
56//ll
Note: See TracBrowser for help on using the repository browser.