Lines Matching refs:conn
73 struct proto_conn *conn; in proto_alloc() local
80 conn = malloc(sizeof(*conn)); in proto_alloc()
81 if (conn != NULL) { in proto_alloc()
82 conn->pc_proto = proto; in proto_alloc()
83 conn->pc_side = side; in proto_alloc()
84 conn->pc_magic = PROTO_CONN_MAGIC; in proto_alloc()
86 return (conn); in proto_alloc()
90 proto_free(struct proto_conn *conn) in proto_free() argument
93 PJDLOG_ASSERT(conn != NULL); in proto_free()
94 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_free()
95 PJDLOG_ASSERT(conn->pc_side == PROTO_SIDE_CLIENT || in proto_free()
96 conn->pc_side == PROTO_SIDE_SERVER_LISTEN || in proto_free()
97 conn->pc_side == PROTO_SIDE_SERVER_WORK); in proto_free()
98 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_free()
100 bzero(conn, sizeof(*conn)); in proto_free()
101 free(conn); in proto_free()
109 struct proto_conn *conn; in proto_common_setup() local
148 conn = proto_alloc(proto, side); in proto_common_setup()
149 if (conn == NULL) { in proto_common_setup()
155 conn->pc_ctx = ctx; in proto_common_setup()
156 *connp = conn; in proto_common_setup()
175 proto_connect_wait(struct proto_conn *conn, int timeout) in proto_connect_wait() argument
179 PJDLOG_ASSERT(conn != NULL); in proto_connect_wait()
180 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_connect_wait()
181 PJDLOG_ASSERT(conn->pc_side == PROTO_SIDE_CLIENT); in proto_connect_wait()
182 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_connect_wait()
183 PJDLOG_ASSERT(conn->pc_proto->prt_connect_wait != NULL); in proto_connect_wait()
186 error = conn->pc_proto->prt_connect_wait(conn->pc_ctx, timeout); in proto_connect_wait()
206 proto_accept(struct proto_conn *conn, struct proto_conn **newconnp) in proto_accept() argument
211 PJDLOG_ASSERT(conn != NULL); in proto_accept()
212 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_accept()
213 PJDLOG_ASSERT(conn->pc_side == PROTO_SIDE_SERVER_LISTEN); in proto_accept()
214 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_accept()
215 PJDLOG_ASSERT(conn->pc_proto->prt_accept != NULL); in proto_accept()
217 newconn = proto_alloc(conn->pc_proto, PROTO_SIDE_SERVER_WORK); in proto_accept()
221 error = conn->pc_proto->prt_accept(conn->pc_ctx, &newconn->pc_ctx); in proto_accept()
234 proto_send(const struct proto_conn *conn, const void *data, size_t size) in proto_send() argument
238 PJDLOG_ASSERT(conn != NULL); in proto_send()
239 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_send()
240 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_send()
241 PJDLOG_ASSERT(conn->pc_proto->prt_send != NULL); in proto_send()
243 error = conn->pc_proto->prt_send(conn->pc_ctx, data, size, -1); in proto_send()
252 proto_recv(const struct proto_conn *conn, void *data, size_t size) in proto_recv() argument
256 PJDLOG_ASSERT(conn != NULL); in proto_recv()
257 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_recv()
258 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_recv()
259 PJDLOG_ASSERT(conn->pc_proto->prt_recv != NULL); in proto_recv()
261 error = conn->pc_proto->prt_recv(conn->pc_ctx, data, size, NULL); in proto_recv()
270 proto_connection_send(const struct proto_conn *conn, struct proto_conn *mconn) in proto_connection_send() argument
275 PJDLOG_ASSERT(conn != NULL); in proto_connection_send()
276 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_connection_send()
277 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_connection_send()
278 PJDLOG_ASSERT(conn->pc_proto->prt_send != NULL); in proto_connection_send()
287 error = conn->pc_proto->prt_send(conn->pc_ctx, in proto_connection_send()
332 proto_connection_recv(const struct proto_conn *conn, bool client, in proto_connection_recv() argument
338 PJDLOG_ASSERT(conn != NULL); in proto_connection_recv()
339 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_connection_recv()
340 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_connection_recv()
341 PJDLOG_ASSERT(conn->pc_proto->prt_recv != NULL); in proto_connection_recv()
346 error = conn->pc_proto->prt_recv(conn->pc_ctx, in proto_connection_recv()
359 proto_descriptor(const struct proto_conn *conn) in proto_descriptor() argument
362 PJDLOG_ASSERT(conn != NULL); in proto_descriptor()
363 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_descriptor()
364 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_descriptor()
365 PJDLOG_ASSERT(conn->pc_proto->prt_descriptor != NULL); in proto_descriptor()
367 return (conn->pc_proto->prt_descriptor(conn->pc_ctx)); in proto_descriptor()
371 proto_address_match(const struct proto_conn *conn, const char *addr) in proto_address_match() argument
374 PJDLOG_ASSERT(conn != NULL); in proto_address_match()
375 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_address_match()
376 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_address_match()
377 PJDLOG_ASSERT(conn->pc_proto->prt_address_match != NULL); in proto_address_match()
379 return (conn->pc_proto->prt_address_match(conn->pc_ctx, addr)); in proto_address_match()
383 proto_local_address(const struct proto_conn *conn, char *addr, size_t size) in proto_local_address() argument
386 PJDLOG_ASSERT(conn != NULL); in proto_local_address()
387 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_local_address()
388 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_local_address()
389 PJDLOG_ASSERT(conn->pc_proto->prt_local_address != NULL); in proto_local_address()
391 conn->pc_proto->prt_local_address(conn->pc_ctx, addr, size); in proto_local_address()
395 proto_remote_address(const struct proto_conn *conn, char *addr, size_t size) in proto_remote_address() argument
398 PJDLOG_ASSERT(conn != NULL); in proto_remote_address()
399 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_remote_address()
400 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_remote_address()
401 PJDLOG_ASSERT(conn->pc_proto->prt_remote_address != NULL); in proto_remote_address()
403 conn->pc_proto->prt_remote_address(conn->pc_ctx, addr, size); in proto_remote_address()
407 proto_timeout(const struct proto_conn *conn, int timeout) in proto_timeout() argument
412 PJDLOG_ASSERT(conn != NULL); in proto_timeout()
413 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_timeout()
414 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_timeout()
416 fd = proto_descriptor(conn); in proto_timeout()
431 proto_close(struct proto_conn *conn) in proto_close() argument
434 PJDLOG_ASSERT(conn != NULL); in proto_close()
435 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); in proto_close()
436 PJDLOG_ASSERT(conn->pc_proto != NULL); in proto_close()
437 PJDLOG_ASSERT(conn->pc_proto->prt_close != NULL); in proto_close()
439 conn->pc_proto->prt_close(conn->pc_ctx); in proto_close()
440 proto_free(conn); in proto_close()