libpurple/win32/libc_internal.h

Wed, 30 Oct 2019 22:04:59 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 30 Oct 2019 22:04:59 -0400
changeset 40092
5f6a8bcd216d
parent 39659
e4dfb99b0cef
child 40095
330279f77e0d
permissions
-rw-r--r--

Use g_fchmod instead of fchmod to remove wrapper.

3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * purple
5913
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
3 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
4 * File: libc_internal.h
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
5 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
6 * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com>
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
7 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
8 * This program is free software; you can redistribute it and/or modify
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
9 * it under the terms of the GNU General Public License as published by
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
11 * (at your option) any later version.
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
12 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
13 * This program is distributed in the hope that it will be useful,
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
16 * GNU General Public License for more details.
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
17 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
18 * You should have received a copy of the GNU General Public License
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15936
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5913
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 3776
diff changeset
21 *
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
22 */
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39383
diff changeset
23 #ifndef PURPLE_WIN32_LIBC_INTERNAL
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39383
diff changeset
24 #define PURPLE_WIN32_LIBC_INTERNAL
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
25 #include <glib.h>
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
26
39383
0f9d49617abc Use G_BEGIN_DECLS and G_END_DECLS instead of raw extern "C"
Mike Ruprecht <cmaiku@gmail.com>
parents: 39020
diff changeset
27 G_BEGIN_DECLS
22686
d41016d7812d Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents: 20239
diff changeset
28
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
29 /* sys/socket.h */
22812
cf92ffc5949c Patch from vladb to remove a C++ protected word ("namespace") from win32 libpurple code. Fixes #5471
Daniel Atallah <datallah@pidgin.im>
parents: 22686
diff changeset
30 int wpurple_socket(int domain, int style, int protocol);
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
31 int wpurple_connect(int socket, struct sockaddr *addr, u_long length);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
32 int wpurple_getsockopt(int socket, int level, int optname, void *optval, socklen_t *optlenptr);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
33 int wpurple_setsockopt(int socket, int level, int optname, const void *optval, socklen_t optlen);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
34 int wpurple_getsockname (int socket, struct sockaddr *addr, socklen_t *lenptr);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
35 int wpurple_bind(int socket, struct sockaddr *addr, socklen_t length);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
36 int wpurple_listen(int socket, unsigned int n);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
37 int wpurple_sendto(int socket, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
38 int wpurple_recv(int fd, void *buf, size_t len, int flags);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
39 int wpurple_send(int fd, const void *buf, unsigned int size, int flags);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
40
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
41 /* arpa/inet.h */
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
42 int wpurple_inet_aton(const char *name, struct in_addr *addr);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
43 const char *
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
44 wpurple_inet_ntop (int af, const void *src, char *dst, socklen_t cnt);
32069
fc06dd6b7c3f Fix the compilation of the Bonjour prpl on Windows.
Eion Robb <eion@robbmob.com>
parents: 29491
diff changeset
45 int wpurple_inet_pton(int af, const char *src, void *dst);
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
46
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
47 /* netdb.h */
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
48 struct hostent* wpurple_gethostbyname(const char *name);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
49
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
50 /* string.h */
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
51 char* wpurple_strerror( int errornum );
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
52
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
53 /* fcntl.h */
20239
ae122f419324 applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
54 int wpurple_fcntl(int socket, int command, ...);
ae122f419324 applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
55 #define F_GETFL 3
ae122f419324 applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
56 #define F_SETFL 4
ae122f419324 applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
57 #define O_NONBLOCK 04000
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
58
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
59 /* sys/ioctl.h */
11364
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
60 #define SIOCGIFCONF 0x8912 /* get iface list */
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
61 int wpurple_ioctl(int fd, int command, void* opt);
11364
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
62
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
63 /* net/if.h */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
64 struct ifreq
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
65 {
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
66 union
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
67 {
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
68 char ifrn_name[6]; /* Interface name, e.g. "en0". */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
69 } ifr_ifrn;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
70
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
71 union
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
72 {
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
73 struct sockaddr ifru_addr;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
74 char *ifru_data;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
75 } ifr_ifru;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
76 };
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
77 # define ifr_name ifr_ifrn.ifrn_name /* interface name */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
78 # define ifr_addr ifr_ifru.ifru_addr /* address */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
79 # define ifr_data ifr_ifru.ifru_data /* for use by interface */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
80
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
81 struct ifconf
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
82 {
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
83 int ifc_len; /* Size of buffer. */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
84 union
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
85 {
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
86 char *ifcu_buf;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
87 struct ifreq *ifcu_req;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
88 } ifc_ifcu;
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
89 };
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
90 # define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
91 # define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */
d754cf40ec4b [gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents: 5913
diff changeset
92
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
93 /* sys/time.h */
27854
77d4e2090a5d Use mingw's <sys/time.h> to define "struct timezone" when it is new enough.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 24231
diff changeset
94 #if __MINGW32_MAJOR_VERSION < 3 || (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 10)
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
95 struct timezone {
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
96 int tz_minuteswest;
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
97 int tz_dsttime;
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
98 };
27854
77d4e2090a5d Use mingw's <sys/time.h> to define "struct timezone" when it is new enough.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 24231
diff changeset
99 #else
77d4e2090a5d Use mingw's <sys/time.h> to define "struct timezone" when it is new enough.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 24231
diff changeset
100 # include <sys/time.h>
77d4e2090a5d Use mingw's <sys/time.h> to define "struct timezone" when it is new enough.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 24231
diff changeset
101 #endif
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
102 int wpurple_gettimeofday(struct timeval *p, struct timezone *z);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
103
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
104 /* time.h */
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
105 struct tm *wpurple_localtime_r(const time_t *time, struct tm *resultp);
3776
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
106
4372bb2cc50f [gaim-migrate @ 3916]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
107
15936
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
108 /* unistd.h */
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
109 int wpurple_read(int fd, void *buf, unsigned int size);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
110 int wpurple_write(int fd, const void *buf, unsigned int size);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
111 int wpurple_close(int fd);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
112 int wpurple_gethostname(char *name, size_t size);
1a5a326484f3 move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents: 15884
diff changeset
113
39383
0f9d49617abc Use G_BEGIN_DECLS and G_END_DECLS instead of raw extern "C"
Mike Ruprecht <cmaiku@gmail.com>
parents: 39020
diff changeset
114 G_END_DECLS
22686
d41016d7812d Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents: 20239
diff changeset
115
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39383
diff changeset
116 #endif /* PURPLE_WIN32_LIBC_INTERNAL */

mercurial