Imported Upstream version 2.7
[ossec-hids.git] / src / os_net / os_net.h
1 /* @(#) $Id: ./src/os_net/os_net.h, 2011/09/08 dcid Exp $
2  */
3
4 /* Copyright (C) 2009 Trend Micro Inc.
5  * All rights reserved.
6  *
7  * This program is a free software; you can redistribute it
8  * and/or modify it under the terms of the GNU General Public
9  * License (version 2) as published by the FSF - Free Software
10  * Foundation
11  */
12
13 /* OS_net Library.
14  * APIs for many network operations.
15  */
16
17 #ifndef __OS_NET_H
18
19 #define __OS_NET_H
20
21
22 /* OS_Bindport*
23  * Bind a specific port (protocol and a ip).
24  * If the IP is not set, it is going to use ADDR_ANY
25  * Return the socket.
26  */
27 int OS_Bindporttcp(unsigned int _port, char *_ip, int ipv6);
28 int OS_Bindportudp(unsigned int _port, char *_ip, int ipv6);
29
30 /* OS_BindUnixDomain
31  * Bind to a specific file, using the "mode" permissions in
32  * a Unix Domain socket.
33  */
34 int OS_BindUnixDomain(char * path, int mode, int max_msg_size);
35 int OS_ConnectUnixDomain(char * path, int max_msg_size);
36 int OS_getsocketsize(int ossock);
37
38
39 /* OS_Connect
40  * Connect to a TCP/UDP socket
41  */
42 int OS_ConnectTCP(unsigned int _port, char *_ip, int ipv6);
43 int OS_ConnectUDP(unsigned int _port, char *_ip, int ipv6);
44
45 /* OS_RecvUDP
46  * Receive a UDP packet. Return NULL if failed
47  */
48 char *OS_RecvUDP(int socket, int sizet);
49 int OS_RecvConnUDP(int socket, char *buffer, int buffer_size);
50
51
52 /* OS_RecvUnix
53  * Receive a message via a Unix socket
54  */
55 int OS_RecvUnix(int socket, int sizet, char *ret);
56
57
58 /* OS_RecvTCP
59  * Receive a TCP packet
60  */
61 int OS_AcceptTCP(int socket, char *srcip, int addrsize);
62 char *OS_RecvTCP(int socket, int sizet);
63 int OS_RecvTCPBuffer(int socket, char *buffer, int sizet);
64
65
66 /* OS_SendTCP
67  * Send a TCP/UDP/UnixSocket packet (in a open socket)
68  */
69 int OS_SendTCP(int socket, char *msg);
70 int OS_SendTCPbySize(int socket, int size, char *msg);
71
72 int OS_SendUnix(int socket, char * msg, int size);
73
74 int OS_SendUDP(int socket, char *msg);
75 int OS_SendUDPbySize(int socket, int size, char *msg);
76
77
78 /* OS_GetHost
79  * Calls gethostbyname
80  */
81 char *OS_GetHost(char *host, int attempts);
82
83 #endif
84
85 /* EOF */