aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/port.h
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2010-11-30 07:00:53 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-02 16:34:01 -0500
commitd265fef6ddf9042195aae551e1fde211c2a1588b (patch)
treeb9c45caac6e191f6c68df3cc215831ee7e8f1e21 /net/tipc/port.h
parentdca9b2404a6d6579828da2425c051462701efd3f (diff)
tipc: Remove obsolete native API files and exports
As part of the removal of TIPC's native API support it is no longer necessary for TIPC to export symbols for routines that can be called by kernel-based applications, nor for it to have header files that kernel-based applications can include to access the declarations for those routines. This commit eliminates the exporting of symbols by TIPC and migrates the contents of each obsolete native API include file into its corresponding non-native API equivalent. The code which was migrated in this commit was migrated intact, in that there are no technical changes combined with the relocation. Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/port.h')
-rw-r--r--net/tipc/port.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/net/tipc/port.h b/net/tipc/port.h
index 73bbf442b346..8b9d87a3efae 100644
--- a/net/tipc/port.h
+++ b/net/tipc/port.h
@@ -44,6 +44,39 @@
44#include "dbg.h" 44#include "dbg.h"
45#include "node_subscr.h" 45#include "node_subscr.h"
46 46
47#define TIPC_FLOW_CONTROL_WIN 512
48
49typedef void (*tipc_msg_err_event) (void *usr_handle, u32 portref,
50 struct sk_buff **buf, unsigned char const *data,
51 unsigned int size, int reason,
52 struct tipc_portid const *attmpt_destid);
53
54typedef void (*tipc_named_msg_err_event) (void *usr_handle, u32 portref,
55 struct sk_buff **buf, unsigned char const *data,
56 unsigned int size, int reason,
57 struct tipc_name_seq const *attmpt_dest);
58
59typedef void (*tipc_conn_shutdown_event) (void *usr_handle, u32 portref,
60 struct sk_buff **buf, unsigned char const *data,
61 unsigned int size, int reason);
62
63typedef void (*tipc_msg_event) (void *usr_handle, u32 portref,
64 struct sk_buff **buf, unsigned char const *data,
65 unsigned int size, unsigned int importance,
66 struct tipc_portid const *origin);
67
68typedef void (*tipc_named_msg_event) (void *usr_handle, u32 portref,
69 struct sk_buff **buf, unsigned char const *data,
70 unsigned int size, unsigned int importance,
71 struct tipc_portid const *orig,
72 struct tipc_name_seq const *dest);
73
74typedef void (*tipc_conn_msg_event) (void *usr_handle, u32 portref,
75 struct sk_buff **buf, unsigned char const *data,
76 unsigned int size);
77
78typedef void (*tipc_continue_event) (void *usr_handle, u32 portref);
79
47/** 80/**
48 * struct user_port - TIPC user port (used with native API) 81 * struct user_port - TIPC user port (used with native API)
49 * @user_ref: id of user who created user port 82 * @user_ref: id of user who created user port
@@ -68,6 +101,34 @@ struct user_port {
68}; 101};
69 102
70/** 103/**
104 * struct tipc_port - TIPC port info available to socket API
105 * @usr_handle: pointer to additional user-defined information about port
106 * @lock: pointer to spinlock for controlling access to port
107 * @connected: non-zero if port is currently connected to a peer port
108 * @conn_type: TIPC type used when connection was established
109 * @conn_instance: TIPC instance used when connection was established
110 * @conn_unacked: number of unacknowledged messages received from peer port
111 * @published: non-zero if port has one or more associated names
112 * @congested: non-zero if cannot send because of link or port congestion
113 * @max_pkt: maximum packet size "hint" used when building messages sent by port
114 * @ref: unique reference to port in TIPC object registry
115 * @phdr: preformatted message header used when sending messages
116 */
117struct tipc_port {
118 void *usr_handle;
119 spinlock_t *lock;
120 int connected;
121 u32 conn_type;
122 u32 conn_instance;
123 u32 conn_unacked;
124 int published;
125 u32 congested;
126 u32 max_pkt;
127 u32 ref;
128 struct tipc_msg phdr;
129};
130
131/**
71 * struct port - TIPC port structure 132 * struct port - TIPC port structure
72 * @publ: TIPC port info available to privileged users 133 * @publ: TIPC port info available to privileged users
73 * @port_list: adjacent ports in TIPC's global list of ports 134 * @port_list: adjacent ports in TIPC's global list of ports
@@ -109,6 +170,76 @@ struct port {
109extern spinlock_t tipc_port_list_lock; 170extern spinlock_t tipc_port_list_lock;
110struct port_list; 171struct port_list;
111 172
173/*
174 * TIPC port manipulation routines
175 */
176struct tipc_port *tipc_createport_raw(void *usr_handle,
177 u32 (*dispatcher)(struct tipc_port *, struct sk_buff *),
178 void (*wakeup)(struct tipc_port *), const u32 importance);
179
180int tipc_reject_msg(struct sk_buff *buf, u32 err);
181
182int tipc_send_buf_fast(struct sk_buff *buf, u32 destnode);
183
184void tipc_acknowledge(u32 port_ref, u32 ack);
185
186int tipc_createport(unsigned int tipc_user, void *usr_handle,
187 unsigned int importance, tipc_msg_err_event error_cb,
188 tipc_named_msg_err_event named_error_cb,
189 tipc_conn_shutdown_event conn_error_cb, tipc_msg_event msg_cb,
190 tipc_named_msg_event named_msg_cb,
191 tipc_conn_msg_event conn_msg_cb,
192 tipc_continue_event continue_event_cb, u32 *portref);
193
194int tipc_deleteport(u32 portref);
195
196int tipc_ownidentity(u32 portref, struct tipc_portid *port);
197
198int tipc_portimportance(u32 portref, unsigned int *importance);
199int tipc_set_portimportance(u32 portref, unsigned int importance);
200
201int tipc_portunreliable(u32 portref, unsigned int *isunreliable);
202int tipc_set_portunreliable(u32 portref, unsigned int isunreliable);
203
204int tipc_portunreturnable(u32 portref, unsigned int *isunreturnable);
205int tipc_set_portunreturnable(u32 portref, unsigned int isunreturnable);
206
207int tipc_publish(u32 portref, unsigned int scope,
208 struct tipc_name_seq const *name_seq);
209int tipc_withdraw(u32 portref, unsigned int scope,
210 struct tipc_name_seq const *name_seq);
211
212int tipc_connect2port(u32 portref, struct tipc_portid const *port);
213
214int tipc_disconnect(u32 portref);
215
216int tipc_shutdown(u32 ref);
217
218
219/*
220 * The following routines require that the port be locked on entry
221 */
222int tipc_disconnect_port(struct tipc_port *tp_ptr);
223
224/*
225 * TIPC messaging routines
226 */
227#define TIPC_PORT_IMPORTANCE 100 /* send using current port setting */
228
229int tipc_send(u32 portref, unsigned int num_sect, struct iovec const *msg_sect);
230
231int tipc_send2name(u32 portref, struct tipc_name const *name, u32 domain,
232 unsigned int num_sect, struct iovec const *msg_sect);
233
234int tipc_send2port(u32 portref, struct tipc_portid const *dest,
235 unsigned int num_sect, struct iovec const *msg_sect);
236
237int tipc_send_buf2port(u32 portref, struct tipc_portid const *dest,
238 struct sk_buff *buf, unsigned int dsz);
239
240int tipc_multicast(u32 portref, struct tipc_name_seq const *seq, u32 domain,
241 unsigned int section_count, struct iovec const *msg);
242
112int tipc_port_reject_sections(struct port *p_ptr, struct tipc_msg *hdr, 243int tipc_port_reject_sections(struct port *p_ptr, struct tipc_msg *hdr,
113 struct iovec const *msg_sect, u32 num_sect, 244 struct iovec const *msg_sect, u32 num_sect,
114 int err); 245 int err);