blob: aab73c894b924d67eb0d44fb33e79dd8304d0ac5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <unistd.h>
#include <sys/socket.h>
#include <sys/linux-syscalls.h>
/* From ndk/platforms/android-3/include/sys/socket.h */
#define SOCK_STREAM_PORTABLE 1
#define SOCK_DGRAM_PORTABLE 2
#define SOCK_RAW_PORTABLE 3
#define SOCK_RDM_PORTABLE 4
#define SOCK_SEQPACKET_PORTABLE 5
#define SOCK_PACKET_PORTABLE 10
#if SOCK_STREAM==SOCK_STREAM_PORTABLE
#error Bad build environment
#endif
static inline int mips_change_type(int type)
{
switch (type) {
case SOCK_STREAM_PORTABLE: return SOCK_STREAM;
case SOCK_DGRAM_PORTABLE: return SOCK_DGRAM;
case SOCK_RAW_PORTABLE: return SOCK_RAW;
case SOCK_RDM_PORTABLE: return SOCK_RDM;
case SOCK_SEQPACKET_PORTABLE: return SOCK_SEQPACKET;
case SOCK_PACKET_PORTABLE: return SOCK_PACKET;
}
return type;
}
extern int socket(int, int, int);
int socket_portable(int domain, int type, int protocol) {
return socket(domain, mips_change_type(type), protocol);
}
|