Mercurial > pidgin
annotate src/win32/libc_interface.h @ 5351:2aa7e4237142
[gaim-migrate @ 5727]
Buddy icon support!
The MSN protocol does not support this, but it does allow for different
content-types, which no client (except a couple broken ones I can name)
will see. So, I managed to extend the protocol a bit to do buddy icons.
It should work like AIM. Setup your icon in your account editor, and
message somebody. If they change their icon, however, you will have to
close the conversation window, re-open it, and send another message. That's
just how it has to work for now, I'm afraid.
Oh, and another thing. MSNP7 (P6 as well? Not sure) times out inactive
conversations after 5 minutes. Right now, you're seeing "User has closed
the conversation window" messages, but they're really not. So, we now print
out a message saying it timed out. Ugly, yes, but unless we have both
messages, there's confusion. Oh well! Kick the hay!
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sat, 10 May 2003 23:55:18 +0000 |
| parents | bac62d8d386f |
| children | 9657e243d001 |
| rev | line source |
|---|---|
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
1 /* |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
2 * libc_interface.h |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
3 */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
4 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
5 #ifndef _LIBC_INTERFACE_H_ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
6 #define _LIBC_INTERFACE_H_ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
7 #include <winsock.h> |
|
4714
51ce3eb7e0bf
[gaim-migrate @ 5025]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4373
diff
changeset
|
8 #include <io.h> |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
9 #include <errno.h> |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
10 #include "libc_internal.h" |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
11 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
12 /* sys/socket.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
13 extern int wgaim_socket(int namespace, int style, int protocol); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
14 #define socket( namespace, style, protocol ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
15 wgaim_socket( ## namespace ##, ## style ##, ## protocol ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
16 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
17 extern int wgaim_connect(int socket, struct sockaddr *addr, u_long length); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
18 #define connect( socket, addr, length ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
19 wgaim_connect( ## socket ##, ## addr ##, ## length ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
20 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
21 extern int wgaim_getsockopt(int socket, int level, int optname, void *optval, unsigned int *optlenptr); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
22 #define getsockopt( args... ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
23 wgaim_getsockopt( ## args ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
24 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
25 /* sys/ioctl.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
26 extern int wgaim_ioctl(int fd, int command, void* opt); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
27 #define ioctl( fd, command, val ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
28 wgaim_ioctl( ## fd ##, ## command ##, ## val ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
29 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
30 /* fcntl.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
31 extern int wgaim_fcntl(int socket, int command, int val); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
32 #define fcntl( fd, command, val ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
33 wgaim_fcntl( ## fd ##, ## command ##, ## val ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
34 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
35 #define open( args... ) _open( ## args ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
36 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
37 /* arpa/inet.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
38 extern int wgaim_inet_aton(const char *name, struct in_addr *addr); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
39 #define inet_aton( name, addr ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
40 wgaim_inet_aton( ## name ##, ## addr ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
41 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
42 /* netdb.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
43 extern struct hostent* wgaim_gethostbyname(const char *name); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
44 #define gethostbyname( name ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
45 wgaim_gethostbyname( ## name ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
46 |
|
5084
a96653493416
[gaim-migrate @ 5439]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4905
diff
changeset
|
47 /* netinet/in.h */ |
|
a96653493416
[gaim-migrate @ 5439]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4905
diff
changeset
|
48 #define ntohl( netlong ) \ |
|
a96653493416
[gaim-migrate @ 5439]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4905
diff
changeset
|
49 (unsigned int)ntohl( ## netlong ## ) |
|
a96653493416
[gaim-migrate @ 5439]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4905
diff
changeset
|
50 |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
51 /* string.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
52 extern char* wgaim_strerror( int errornum ); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
53 #define hstrerror( herror ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
54 wgaim_strerror( errno ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
55 #define strerror( errornum ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
56 wgaim_strerror( ## errornum ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
57 |
|
4193
c297b9d4f67c
[gaim-migrate @ 4424]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3776
diff
changeset
|
58 extern char* wgaim_strsep(char **stringp, const char *delim); |
|
c297b9d4f67c
[gaim-migrate @ 4424]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3776
diff
changeset
|
59 #define strsep( stringp, delim ) \ |
|
c297b9d4f67c
[gaim-migrate @ 4424]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3776
diff
changeset
|
60 wgaim_strsep( ## stringp ##, ## delim ## ) |
|
c297b9d4f67c
[gaim-migrate @ 4424]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3776
diff
changeset
|
61 |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
62 #define bzero( dest, size ) memset( ## dest ##, 0, ## size ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
63 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
64 /* unistd.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
65 extern int wgaim_read(int fd, void *buf, unsigned int size); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
66 #define read( fd, buf, buflen ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
67 wgaim_read( ## fd ##, ## buf ##, ## buflen ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
68 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
69 extern int wgaim_write(int fd, const void *buf, unsigned int size); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
70 #define write( socket, buf, buflen ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
71 wgaim_write( ## socket ##, ## buf ##, ## buflen ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
72 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
73 extern int wgaim_close(int fd); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
74 #define close( fd ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
75 wgaim_close( ## fd ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
76 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
77 #define sleep(x) Sleep((x)*1000) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
78 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
79 /* sys/time.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
80 extern int wgaim_gettimeofday(struct timeval *p, struct timezone *z); |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
81 #define gettimeofday( timeval, timezone ) \ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
82 wgaim_gettimeofday( ## timeval ##, ## timezone ## ) |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
83 |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
84 /* stdio.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
85 #define snprintf _snprintf |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
86 #define vsnprintf _vsnprintf |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
87 |
|
4905
86037d6bf80f
[gaim-migrate @ 5239]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4714
diff
changeset
|
88 extern int wgaim_rename(const char *oldname, const char *newname); |
|
86037d6bf80f
[gaim-migrate @ 5239]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4714
diff
changeset
|
89 #define rename( oldname, newname ) \ |
|
86037d6bf80f
[gaim-migrate @ 5239]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4714
diff
changeset
|
90 wgaim_rename( ## oldname ##, ## newname ## ) |
|
86037d6bf80f
[gaim-migrate @ 5239]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4714
diff
changeset
|
91 |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
92 /* sys/stat.h */ |
|
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
93 #define mkdir(a,b) _mkdir((a)) |
|
4373
dcc6c130c6d9
[gaim-migrate @ 4639]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4193
diff
changeset
|
94 #define fchmod(a,b) |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
95 |
|
5113
bac62d8d386f
[gaim-migrate @ 5476]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
5084
diff
changeset
|
96 /* time.h */ |
|
bac62d8d386f
[gaim-migrate @ 5476]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
5084
diff
changeset
|
97 extern struct tm *wgaim_localtime_r(const time_t *time, struct tm *resultp); |
|
bac62d8d386f
[gaim-migrate @ 5476]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
5084
diff
changeset
|
98 #define localtime_r( time, resultp ) \ |
|
bac62d8d386f
[gaim-migrate @ 5476]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
5084
diff
changeset
|
99 wgaim_localtime_r( ## time ##, ## resultp ## ) |
|
bac62d8d386f
[gaim-migrate @ 5476]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
5084
diff
changeset
|
100 |
|
3776
21d296405cfd
[gaim-migrate @ 3916]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
101 #endif /* _LIBC_INTERFACE_H_ */ |
