Subversion Repositories Kolibri OS

Rev

Rev 8345 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8345 superturbo 1
#ifndef __NETWORK_H
2
#define __NETWORK_H
3
 
4
#include 
5
 
6
#define EAI_ADDRFAMILY 1
7
#define EAI_AGAIN      2
8
#define EAI_BADFLAGS   3
9
#define EAI_FAIL       4
10
#define EAI_FAMILY     5
11
#define EAI_MEMORY     6
12
#define EAI_NONAME     8
13
#define EAI_SERVICE    9
14
#define EAI_SOCKTYPE   10
15
#define EAI_BADHINTS   12
16
#define EAI_PROTOCOL   13
17
#define EAI_OVERFLOW   14
18
 
19
// Flags for addrinfo
20
#define AI_PASSIVE     1
21
#define AI_CANONNAME   2
22
#define AI_NUMERICHOST 4
23
#define AI_NUMERICSERV 8
24
#define AI_ADDRCONFIG  0x400
25
 
26
#pragma pack(push, 1)
27
struct ARP_entry{
28
unsigned int IP;
29
unsigned char MAC[6];
30
unsigned short status;
31
unsigned short TTL;
32
};
33
#pragma pack(pop)
34
 
35
#pragma pack(push, 1)
8522 superturbo 36
struct addrinfo{
8345 superturbo 37
    int     ai_flags;
38
    int     ai_family;
39
    int     ai_socktype;
40
    int     ai_protocol;
41
    int     ai_addrlen;
42
    char   *ai_canonname;
8522 superturbo 43
    struct sockaddr *ai_addr;
8345 superturbo 44
    struct addrinfo *ai_next;
45
};
46
#pragma pack(pop)
47
 
48
extern int networklib_init ();
49
extern int (*inet_addr)(const char* hostname) __attribute__ ((stdcall));
50
extern char* (*inet_ntoa)(int ip_addr) __attribute__ ((stdcall));
8522 superturbo 51
extern int (*getaddrinfo)(char* hostname, char *servname, struct addrinfo* hints, struct addrinfo** res) __attribute__ ((stdcall));
8345 superturbo 52
extern void (*freeaddrinfo)(struct addrinfo* ai) __attribute__ ((stdcall));
53
 
54
#endif