libpurple/win32/win32dep.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 24231
6907b62f25fe
child 33291
b70ab10887a7
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
2 * purple
5913
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
3 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
4 * File: win32dep.h
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
5 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
6 * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com>
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
7 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
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: 5084
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: 5084
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
11 * (at your option) any later version.
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
12 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
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: 5084
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
16 * GNU General Public License for more details.
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
diff changeset
17 *
4d016c00bb36 [gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents: 5084
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: 5084
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: 15884
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: 5084
diff changeset
21 *
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 */
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
23 #ifndef _WIN32DEP_H_
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24 #define _WIN32DEP_H_
22869
3fc7a5fc49eb Include winsock2.h before windows.h is included to avoid winsock.h being
Daniel Atallah <datallah@pidgin.im>
parents: 22686
diff changeset
25 #include <winsock2.h>
3fc7a5fc49eb Include winsock2.h before windows.h is included to avoid winsock.h being
Daniel Atallah <datallah@pidgin.im>
parents: 22686
diff changeset
26 #include <windows.h>
10673
3177232170c7 [gaim-migrate @ 12213]
Richard Laager <rlaager@pidgin.im>
parents: 10240
diff changeset
27 #include <shlobj.h>
5084
21d2e7ec99ce [gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents: 5008
diff changeset
28 #include <process.h>
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
29 #include "wpurpleerror.h"
3778
7d3d0c93cb2d [gaim-migrate @ 3918]
Herman Bloggs <herman@bluedigits.com>
parents: 3712
diff changeset
30 #include "libc_interface.h"
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
31
24171
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
32
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: 20597
diff changeset
33 #ifdef __cplusplus
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: 20597
diff changeset
34 extern "C" {
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: 20597
diff changeset
35 #endif /* __cplusplus */
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: 20597
diff changeset
36
24171
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
37 /* the winapi headers don't yet have winhttp.h, so we use the struct from msdn directly */
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
38 typedef struct {
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
39 BOOL fAutoDetect;
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
40 LPWSTR lpszAutoConfigUrl;
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
41 LPWSTR lpszProxy;
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
42 LPWSTR lpszProxyBypass;
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
43 } WINHTTP_CURRENT_USER_IE_PROXY_CONFIG;
d976cc3db118 Add support for reading SOCKS proxy information from the Windows proxy settings.
Daniel Atallah <datallah@pidgin.im>
parents: 22869
diff changeset
44
15459
2b5e94b4b17a Fix win32 build for status icon changes
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
45 /* rpcndr.h defines small as char, causing problems, so we need to undefine it */
2b5e94b4b17a Fix win32 build for status icon changes
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
46 #undef small
2b5e94b4b17a Fix win32 build for status icon changes
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
47
3712
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
48 /*
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
49 * PROTOS
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
50 */
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
51
3950
0cab330f1cd6 [gaim-migrate @ 4129]
Herman Bloggs <herman@bluedigits.com>
parents: 3907
diff changeset
52 /**
0cab330f1cd6 [gaim-migrate @ 4129]
Herman Bloggs <herman@bluedigits.com>
parents: 3907
diff changeset
53 ** win32dep.c
0cab330f1cd6 [gaim-migrate @ 4129]
Herman Bloggs <herman@bluedigits.com>
parents: 3907
diff changeset
54 **/
5084
21d2e7ec99ce [gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents: 5008
diff changeset
55 /* Windows helper functions */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
56 FARPROC wpurple_find_and_loadproc(const char *dllname, const char *procedure);
24231
6907b62f25fe Warnings cleanup from Lee Roach. Fixes #6242.
Daniel Atallah <datallah@pidgin.im>
parents: 24171
diff changeset
57 gboolean wpurple_read_reg_dword(HKEY rootkey, const char *subkey, const char *valname, LPDWORD result);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
58 char *wpurple_read_reg_string(HKEY rootkey, const char *subkey, const char *valname); /* needs to be g_free'd */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
59 gboolean wpurple_write_reg_string(HKEY rootkey, const char *subkey, const char *valname, const char *value);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
60 char *wpurple_escape_dirsep(const char *filename); /* needs to be g_free'd */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
61 GIOChannel *wpurple_g_io_channel_win32_new_socket(int socket); /* Until we get the post-2.8 glib win32 giochannel implementation working, use the thread-based one */
12497
a17568773be3 [gaim-migrate @ 14809]
Richard Laager <rlaager@pidgin.im>
parents: 11709
diff changeset
62
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
63 /* Determine Purple paths */
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: 20597
diff changeset
64 gchar *wpurple_get_special_folder(int folder_type); /* needs to be g_free'd */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
65 const char *wpurple_install_dir(void);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
66 const char *wpurple_lib_dir(void);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
67 const char *wpurple_locale_dir(void);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
68 const char *wpurple_data_dir(void);
12497
a17568773be3 [gaim-migrate @ 14809]
Richard Laager <rlaager@pidgin.im>
parents: 11709
diff changeset
69
3950
0cab330f1cd6 [gaim-migrate @ 4129]
Herman Bloggs <herman@bluedigits.com>
parents: 3907
diff changeset
70 /* init / cleanup */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
71 void wpurple_init(void);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
72 void wpurple_cleanup(void);
12497
a17568773be3 [gaim-migrate @ 14809]
Richard Laager <rlaager@pidgin.im>
parents: 11709
diff changeset
73
20587
55af483c9e86 3rd time the charm? Fixes #2990, maybe
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
74 long wpurple_get_tz_offset(void);
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
75
3712
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
76 /*
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
77 * MACROS
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
78 */
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
79
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
80 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
81 * Purple specific
3712
d926a65b5f89 [gaim-migrate @ 3845]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
82 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
83 #define DATADIR wpurple_install_dir()
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
84 #define LIBDIR wpurple_lib_dir()
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15459
diff changeset
85 #define LOCALEDIR wpurple_locale_dir()
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
86
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: 20597
diff changeset
87 #ifdef __cplusplus
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: 20597
diff changeset
88 }
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: 20597
diff changeset
89 #endif /* __cplusplus */
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: 20597
diff changeset
90
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
91 #endif /* _WIN32DEP_H_ */
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
92

mercurial