Subversion Repositories Kolibri OS

Rev

Rev 4257 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4257 Rev 4282
Line 69... Line 69...
69
#define MSG_PEEK     0x02
69
#define MSG_PEEK     0x02
70
#define MSG_DONTWAIT 0x40
70
#define MSG_DONTWAIT 0x40
Line 71... Line 71...
71
  
71
  
72
  
72
  
73
struct in_addr {
73
struct in_addr {
Line 74... Line 74...
74
  unsigned long s_addr;
74
    unsigned int s_addr;
75
};
75
};
76
 
76
 
77
struct sockaddr {
77
struct sockaddr {
Line 78... Line 78...
78
    unsigned short    sa_family;    // address family, AF_xxx
78
    unsigned short    sa_family;    // address family, AF_xxx
79
    char              sa_data[14];  // 14 bytes of protocol address
79
    char              sa_data[14];  // 14 bytes of protocol address
80
}; 
80
}; 
81
 
81
 
82
struct sockaddr_in {
82
struct sockaddr_in { // IPv4 only, we need sockaddr_in6 for IPv6
83
        short sin_family;  // sa_family_t
83
    short int          sin_family;  // Address family, AF_INET
Line 84... Line 84...
84
        unsigned short sin_port;  // in_port_t
84
    unsigned short int sin_port;    // Port number
85
        struct in_addr sin_addr;
85
    struct in_addr     sin_addr;    // Internet address
86
        char sin_zero[8];
86
    unsigned char      sin_zero[8]; // Same size as struct sockaddr
87
};
87
};
88
  
88
  
89
struct addrinfo {
89
struct addrinfo {
90
        int ai_flags;  // bitmask of AI_*
90
    int              ai_flags;     // AI_PASSIVE, AI_CANONNAME, etc.
91
        int longai_family;  // PF_*
91
    int              ai_family;    // AF_INET, AF_INET6, AF_UNSPEC
92
        int ai_socktype;  //SOCK_*
92
    int              ai_socktype;  // SOCK_STREAM, SOCK_DGRAM
93
        int ai_protocol;  // 0 or IPPROTO_*
93
    int              ai_protocol;  // use 0 for "any"
Line 94... Line 94...
94
        int ai_addrlen;  // length of ai_addr
94
    int              ai_addrlen;   // size of ai_addr in bytes
95
        char *ai_canonname;
95
    struct sockaddr *ai_addr;      // struct sockaddr_in or _in6
96
        struct sockaddr *ai_addr;  // struct sockaddr*
96
    char            *ai_canonname; // full canonical hostname
Line 127... Line 127...
127
#define EISCONN       56
127
#define EISCONN       56
128
#define ETIMEDOUT     60
128
#define ETIMEDOUT     60
129
#define ECONNABORTED  53
129
#define ECONNABORTED  53
Line 130... Line -...
130
 
-
 
131
 
130
 
132
unsigned long inet_addr(char *cp);
131
 
133
int socket(int domain, int type, int protocol); 
132
int socket(int domain, int type, int protocol); 
134
int closesocket(int s);
133
int closesocket(int s);
135
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);
134
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);
136
int listen(int s, int backlog);
135
int listen(int s, int backlog);
137
int connect(int sockfd, const struct sockaddr *serv_addr, int addrlen);
136
int connect(int sockfd, const struct sockaddr *serv_addr, int addrlen);
138
int accept(int s, struct sockaddr *addr, int *addrlen);
137
int accept(int s, struct sockaddr *addr, int *addrlen);
139
int send(int s, const void *buf, int len, int flags);
-
 
140
int recv(int sockfd, void *buf, int len, int flags);
-
 
141
// Review int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);
-
 
Line -... Line 138...
-
 
138
int send(int s, const void *buf, int len, int flags);
-
 
139
int recv(int sockfd, void *buf, int len, int flags);
-
 
140
 
-
 
141
// extern from src/libc/menuetos/netowrk.c
-
 
142
#define __stdcall __attribute__((stdcall))
-
 
143
extern void NETWORK_INIT();
-
 
144
extern void (* __stdcall freeaddrinfo)(struct addrinfo* ai);
Line -... Line 145...
-
 
145
extern int (* __stdcall getaddrinfo)( const char* hostname, const char* servname, const struct addrinfo* hints, struct addrinfo **res);
-
 
146
extern char * (* __stdcall inet_ntoa)(struct in_addr in);
142
// Review int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);
147
extern unsigned long (* __stdcall inet_addr)( const char* hostname);
Line 143... Line 148...
143
// Add socketpair()
148
 
144
 
149
 
145
 
150
// Old stuff