author | Mikael Hallendal <micke@imendio.com> |
Mon, 26 Feb 2007 01:17:30 +0100 | |
changeset 256 | 2266e56746ed |
parent 212 | 87bc6b37a9e9 |
child 292 | bb7269466be2 |
permissions | -rw-r--r-- |
1 | 1 |
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ |
2 |
/* |
|
99
81e9d035de02
2004-10-05 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
96
diff
changeset
|
3 |
* Copyright (C) 2003 Imendio AB |
1 | 4 |
* |
5 |
* This program is free software; you can redistribute it and/or |
|
6 |
* modify it under the terms of the GNU Lesser General Public License as |
|
7 |
* published by the Free Software Foundation; either version 2 of the |
|
8 |
* License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 |
* Lesser General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU Lesser General Public |
|
16 |
* License along with this program; if not, write to the |
|
17 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
18 |
* Boston, MA 02111-1307, USA. |
|
19 |
*/ |
|
20 |
||
21 |
/* Private functions that are internal to the library */ |
|
22 |
||
23 |
#ifndef __LM_INTERNALS_H__ |
|
24 |
#define __LM_INTERNALS_H__ |
|
25 |
||
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
26 |
#include <glib.h> |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
27 |
|
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
28 |
#include <sys/types.h> |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
29 |
|
1 | 30 |
#include "lm-message.h" |
31 |
#include "lm-message-handler.h" |
|
32 |
#include "lm-message-node.h" |
|
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
33 |
#include "lm-sock.h" |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
34 |
#include "lm-socket.h" |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
35 |
|
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
36 |
#ifndef G_OS_WIN32 |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
37 |
typedef int LmSocketT; |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
38 |
#else /* G_OS_WIN32 */ |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
39 |
typedef SOCKET LmSocketT; |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
40 |
#endif /* G_OS_WIN32 */ |
1 | 41 |
|
42 |
typedef struct { |
|
43 |
gpointer func; |
|
44 |
gpointer user_data; |
|
45 |
GDestroyNotify notify; |
|
46 |
} LmCallback; |
|
47 |
||
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
48 |
typedef struct { |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
49 |
LmConnection *connection; |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
50 |
LmSocket *socket; |
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
51 |
|
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
52 |
/* struct to save resolved address */ |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
53 |
struct addrinfo *resolved_addrs; |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
54 |
struct addrinfo *current_addr; |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
55 |
LmSocketT fd; |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
56 |
GIOChannel *io_channel; |
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
57 |
} LmConnectData; |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
58 |
|
212
87bc6b37a9e9
Improved error checking in LmSocket when connecting.
Mikael Hallendal <micke@imendio.com>
parents:
196
diff
changeset
|
59 |
gboolean _lm_socket_failed_with_error (LmConnectData *connect_data, |
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
60 |
int error); |
212
87bc6b37a9e9
Improved error checking in LmSocket when connecting.
Mikael Hallendal <micke@imendio.com>
parents:
196
diff
changeset
|
61 |
gboolean _lm_socket_failed (LmConnectData *connect_data); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
62 |
void _lm_socket_succeeded (LmConnectData *connect_data); |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
63 |
gboolean _lm_connection_async_connect_waiting (LmConnection *connection); |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
64 |
void _lm_connection_set_async_connect_waiting (LmConnection *connection, |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
65 |
gboolean waiting); |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
66 |
|
66
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
67 |
LmCallback * _lm_utils_new_callback (gpointer func, |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
68 |
gpointer data, |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
69 |
GDestroyNotify notify); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
70 |
void _lm_utils_free_callback (LmCallback *cb); |
1 | 71 |
|
66
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
72 |
gchar * _lm_utils_generate_id (void); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
73 |
gchar * _lm_utils_base64_encode (const gchar *str); |
155
d24c4392d4e3
2006-06-16 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
140
diff
changeset
|
74 |
gchar * _lm_utils_hostname_to_punycode (const gchar *hostname); |
66
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
75 |
const gchar * _lm_message_type_to_string (LmMessageType type); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
76 |
const gchar * _lm_message_sub_type_to_string (LmMessageSubType type); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
77 |
LmMessage * _lm_message_new_from_node (LmMessageNode *node); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
78 |
void _lm_message_node_add_child_node (LmMessageNode *node, |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
79 |
LmMessageNode *child); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
80 |
LmMessageNode * _lm_message_node_new (const gchar *name); |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
81 |
void _lm_debug_init (void); |
1 | 82 |
|
86
cb65c1ec57a7
2004-08-08 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
84
diff
changeset
|
83 |
|
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
84 |
gboolean _lm_proxy_connect_cb (GIOChannel *source, |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
85 |
GIOCondition condition, |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
86 |
gpointer data); |
66
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
87 |
LmHandlerResult |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
88 |
_lm_message_handler_handle_message (LmMessageHandler *handler, |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
89 |
LmConnection *connection, |
577d5059b718
2004-01-15 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
57
diff
changeset
|
90 |
LmMessage *messag); |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
91 |
gboolean _lm_sock_library_init (void); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
92 |
void _lm_sock_library_shutdown (void); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
93 |
void _lm_sock_set_blocking (LmSocketT sock, |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
94 |
gboolean block); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
95 |
void _lm_sock_shutdown (LmSocketT sock); |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
96 |
void _lm_sock_close (LmSocketT sock); |
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
97 |
LmSocketT _lm_sock_makesocket (int af, |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
98 |
int type, |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
99 |
int protocol); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
100 |
int _lm_sock_connect (LmSocketT sock, |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
101 |
const struct sockaddr *name, |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
102 |
int namelen); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
103 |
gboolean _lm_sock_is_blocking_error (int err); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
104 |
gboolean _lm_sock_is_blocking_success (int err); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
105 |
int _lm_sock_get_last_error (void); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
106 |
void _lm_sock_get_error (LmSocketT sock, |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
107 |
void *error, |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
108 |
socklen_t *len); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
109 |
const gchar * _lm_sock_get_error_str (int err); |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
110 |
const gchar * _lm_sock_addrinfo_get_error_str (int err); |
1 | 111 |
|
112 |
#endif /* __LM_INTERNALS_H__ */ |