1 /* @(#) $Id: ./src/os_net/os_net.h, 2011/09/08 dcid Exp $
4 /* Copyright (C) 2009 Trend Micro Inc.
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
14 * APIs for many network operations.
23 * Bind a specific port (protocol and a ip).
24 * If the IP is not set, it is going to use ADDR_ANY
27 int OS_Bindporttcp(unsigned int _port, char *_ip, int ipv6);
28 int OS_Bindportudp(unsigned int _port, char *_ip, int ipv6);
31 * Bind to a specific file, using the "mode" permissions in
32 * a Unix Domain socket.
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);
40 * Connect to a TCP/UDP socket
42 int OS_ConnectTCP(unsigned int _port, char *_ip, int ipv6);
43 int OS_ConnectUDP(unsigned int _port, char *_ip, int ipv6);
46 * Receive a UDP packet. Return NULL if failed
48 char *OS_RecvUDP(int socket, int sizet);
49 int OS_RecvConnUDP(int socket, char *buffer, int buffer_size);
53 * Receive a message via a Unix socket
55 int OS_RecvUnix(int socket, int sizet, char *ret);
59 * Receive a TCP packet
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);
67 * Send a TCP/UDP/UnixSocket packet (in a open socket)
69 int OS_SendTCP(int socket, char *msg);
70 int OS_SendTCPbySize(int socket, int size, char *msg);
72 int OS_SendUnix(int socket, char * msg, int size);
74 int OS_SendUDP(int socket, char *msg);
75 int OS_SendUDPbySize(int socket, int size, char *msg);
81 char *OS_GetHost(char *host, int attempts);