summaryrefslogtreecommitdiff
path: root/other/mguard/mguard.h
blob: b550163cec240515a1dce9d445a6249d4feff97e (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

void DBG(char *fmt,...)
{
    va_list *ap;
#ifdef DEBUG
    va_start(ap, fmt);
    fprintf(stderr, "\n[fzap:DBG]\t");
    vfprintf(stderr, fmt, ap);
    fprintf(stderr, "\n");
#endif
}


#if defined(__linux__) || (defined(__svr4__) && defined(__sun__)) || defined(sgi) || defined(__osf__)
#define US ""
#else
#define US "_"
#endif

#define SYM_CONNECT US"connect"
#define SYM_BIND US"bind"


#ifdef LINUX_LIBC
#define LIB_PATH "/lib/libc.so.5"
#define CONNECT(A,B,C) int connect __P((int A, const struct sockaddr * B, int C))
int (*old_connect) (int, struct sockaddr *, int) = NULL;
#define BIND(A,B,C) int bind __P ((int A, const struct sockaddr * B, socklen_t C))
int (*old_bind) (int, const struct sockaddr * , socklen_t) = NULL;
#endif

#ifdef LINUX_GLIBC
#define LIB_PATH "/lib/libc.so.6"
#define CONNECT(A,B,C) int connect __P((int A, __CONST_SOCKADDR_ARG B, socklen_t C))
int (*old_connect) (int, __CONST_SOCKADDR_ARG, int) = NULL;
#define BIND(A,B,C) int bind __P ((int A, const struct sockaddr * B, socklen_t C))
int (*old_bind) (int, __CONST_SOCKADDR_ARG, socklen_t) = NULL;
#endif




#ifdef SOLARIS
#define LIB_PATH "/usr/lib/libsocket.so"
#define CONNECT(A,B,C) int connect (int A, const struct sockaddr * B, socklen_t C)
int (*old_connect) (int, const struct sockaddr *, int) = NULL;
#endif


#ifdef __FreeBSD__
#define LIB_PATH "/usr/lib/libc.so.3.0"
#define CONNECT(A,B,C) int connect(int A, const struct sockaddr *B, int C)
int (*old_connect)(int, const struct sockaddr *, int)=NULL;
#define BIND(A,B,C) int bind __P((int A, const struct sockaddr * B, int C))
int (*old_bind)(int, const struct sockaddr *, int);
#endif