source: roaraudio/include/libroar/socket.h @ 501:985357040570

Last change on this file since 501:985357040570 was 501:985357040570, checked in by phi, 16 years ago

ha! It's working: RoarAudio via DECnet! :), needs cleanup

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_open       (int mode, int type, char * host, int port);
39int roar_socket_open_fork  (int mode, char * host, int port);
40int roar_socket_open_file  (int mode, char * host, int port);
41int roar_socket_open_proxy (int mode, int type, char * host, int port, char * proxy_type);
42
43int roar_socket_nonblock(int fh, int state);
44
45int roar_socket_dup_udp_local_end (int fh);
46
47int roar_socket_open_socks4a(int mode, int fh, char * host, int port);
48
49#if 0
50#ifdef ROAR_HAVE_LIBDNET
51int roar_accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
52#else
53#define roar_accept accept
54#endif
55#endif
56#define roar_accept accept
57
58#endif
59
60//ll
Note: See TracBrowser for help on using the repository browser.