author | Frank Zschockelt <lm@freakysoft.de> |
Sat, 13 Feb 2016 12:16:45 +0100 | |
changeset 705 | 1b455131d0f1 |
parent 690 | 7ccf2113ec5f |
permissions | -rw-r--r-- |
516
4dd3aa6b83e5
Change the tab width to 4 steps in the emacs headers
Mikael Hallendal <micke@imendio.com>
parents:
515
diff
changeset
|
1 |
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
1 | 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 |
|
690
7ccf2113ec5f
Update the postal address of the FSF
Frank Zschockelt <lm@freakysoft.de>
parents:
607
diff
changeset
|
16 |
* License along with this program; if not, see <https://www.gnu.org/licenses> |
1 | 17 |
*/ |
18 |
||
19 |
/* Private functions that are internal to the library */ |
|
20 |
||
21 |
#ifndef __LM_INTERNALS_H__ |
|
22 |
#define __LM_INTERNALS_H__ |
|
23 |
||
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
24 |
#include <glib.h> |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
25 |
|
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
26 |
#include <sys/types.h> |
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
27 |
|
429 | 28 |
#include "lm-connection.h" |
1 | 29 |
#include "lm-message.h" |
30 |
#include "lm-message-handler.h" |
|
31 |
#include "lm-message-node.h" |
|
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
32 |
#include "lm-sock.h" |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
33 |
#include "lm-old-socket.h" |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
34 |
|
463
158aebfa7b7c
Moved MIN_PORT and MAX_PORT to lm-internals.h and renamed them.
Mikael Hallendal <micke@imendio.com>
parents:
431
diff
changeset
|
35 |
#define LM_MIN_PORT 1 |
158aebfa7b7c
Moved MIN_PORT and MAX_PORT to lm-internals.h and renamed them.
Mikael Hallendal <micke@imendio.com>
parents:
431
diff
changeset
|
36 |
#define LM_MAX_PORT 65536 |
158aebfa7b7c
Moved MIN_PORT and MAX_PORT to lm-internals.h and renamed them.
Mikael Hallendal <micke@imendio.com>
parents:
431
diff
changeset
|
37 |
|
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
38 |
#ifndef G_OS_WIN32 |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
39 |
typedef int LmOldSocketT; |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
40 |
#else /* G_OS_WIN32 */ |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
41 |
typedef SOCKET LmOldSocketT; |
140
103227122f45
2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
137
diff
changeset
|
42 |
#endif /* G_OS_WIN32 */ |
1 | 43 |
|
44 |
typedef struct { |
|
518
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
45 |
gpointer func; |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
46 |
gpointer user_data; |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
47 |
GDestroyNotify notify; |
1 | 48 |
} LmCallback; |
49 |
||
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
50 |
typedef struct { |
518
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
51 |
LmConnection *connection; |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
52 |
LmOldSocket *socket; |
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
53 |
|
518
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
54 |
/* struct to save resolved address */ |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
55 |
struct addrinfo *current_addr; |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
56 |
LmOldSocketT fd; |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
57 |
GIOChannel *io_channel; |
82
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
58 |
} LmConnectData; |
a32b54e654e2
2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
68
diff
changeset
|
59 |
|
500
915cd386918e
Added _lm_connection_get_context as internal function.
Mikael Hallendal <micke@imendio.com>
parents:
476
diff
changeset
|
60 |
GMainContext * _lm_connection_get_context (LmConnection *conn); |
501
5f71592beac8
Added _lm_connection_get_server that returns the server string.
Mikael Hallendal <micke@imendio.com>
parents:
500
diff
changeset
|
61 |
/* Need to free the return value */ |
5f71592beac8
Added _lm_connection_get_server that returns the server string.
Mikael Hallendal <micke@imendio.com>
parents:
500
diff
changeset
|
62 |
gchar * _lm_connection_get_server (LmConnection *conn); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
63 |
gboolean _lm_old_socket_failed_with_error (LmConnectData *data, |
518
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
64 |
int error); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
65 |
gboolean _lm_old_socket_failed (LmConnectData *data); |
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
66 |
void _lm_old_socket_succeeded (LmConnectData *data); |
196
209bfa124066
Imported LmConnection refactor from old repository.
Mikael Hallendal <micke@imendio.com>
parents:
155
diff
changeset
|
67 |
|
607 | 68 |
LmCallback * _lm_utils_new_callback (gpointer func, |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
69 |
gpointer data, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
70 |
GDestroyNotify notify); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
71 |
void _lm_utils_free_callback (LmCallback *cb); |
86
cb65c1ec57a7
2004-08-08 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
84
diff
changeset
|
72 |
|
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
73 |
gchar * _lm_utils_generate_id (void); |
607 | 74 |
gchar * |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
75 |
_lm_utils_hostname_to_punycode (const gchar *hostname); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
76 |
const gchar * _lm_message_type_to_string (LmMessageType type); |
607 | 77 |
const gchar * |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
78 |
_lm_message_sub_type_to_string (LmMessageSubType type); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
79 |
LmMessage * _lm_message_new_from_node (LmMessageNode *node); |
607 | 80 |
void |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
81 |
_lm_message_node_add_child_node (LmMessageNode *node, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
82 |
LmMessageNode *child); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
83 |
LmMessageNode * _lm_message_node_new (const gchar *name); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
84 |
void _lm_debug_init (void); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
85 |
gboolean _lm_proxy_connect_cb (GIOChannel *source, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
86 |
GIOCondition condition, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
87 |
gpointer data); |
607 | 88 |
LmHandlerResult |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
89 |
_lm_message_handler_handle_message (LmMessageHandler *handler, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
90 |
LmConnection *conn, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
91 |
LmMessage *messag); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
92 |
gboolean _lm_sock_library_init (void); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
93 |
void _lm_sock_library_shutdown (void); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
94 |
void _lm_sock_set_blocking (LmOldSocketT sock, |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
95 |
gboolean block); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
96 |
void _lm_sock_shutdown (LmOldSocketT sock); |
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
97 |
void _lm_sock_close (LmOldSocketT sock); |
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
98 |
LmOldSocketT _lm_sock_makesocket (int af, |
518
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
99 |
int type, |
cdd6a0c5b439
Went over all of the files and made sure they all were indented the same way.
Mikael Hallendal <micke@imendio.com>
parents:
516
diff
changeset
|
100 |
int protocol); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
101 |
int _lm_sock_connect (LmOldSocketT sock, |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
102 |
const struct sockaddr *name, |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
103 |
int namelen); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
104 |
gboolean _lm_sock_is_blocking_error (int err); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
105 |
gboolean _lm_sock_is_blocking_success (int err); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
106 |
int _lm_sock_get_last_error (void); |
607 | 107 |
void _lm_sock_get_error (LmOldSocketT sock, |
108 |
void *error, |
|
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
109 |
socklen_t *len); |
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
110 |
const gchar * _lm_sock_get_error_str (int err); |
607 | 111 |
const gchar * |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
112 |
_lm_sock_addrinfo_get_error_str (int err); |
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
113 |
gchar * _lm_sock_get_local_host (LmOldSocketT sock); |
1 | 114 |
|
431
04577a6b7ff7
Renamed LmSocket to LmOldSocket to make room for a new socket abstraction layer.
Mikael Hallendal <micke@imendio.com>
parents:
429
diff
changeset
|
115 |
gboolean _lm_sock_set_keepalive (LmOldSocketT sock, |
414
76bb882301ad
Fixed header file style in internal header file
Mikael Hallendal <micke@imendio.com>
parents:
407
diff
changeset
|
116 |
int delay); |
1 | 117 |
#endif /* __LM_INTERNALS_H__ */ |