RTRlib
Loading...
Searching...
No Matches
transport.h
Go to the documentation of this file.
1/*
2 * This file is part of RTRlib.
3 *
4 * This file is subject to the terms and conditions of the MIT license.
5 * See the file LICENSE in the top level directory for more details.
6 *
7 * Website: http://rtrlib.realmv6.org/
8 */
9
23#ifndef RTR_TRANSPORT_H
24#define RTR_TRANSPORT_H
25
26#include <time.h>
27
31#define RTRLIB_TRANSPORT_CONNECT_TIMEOUT_DEFAULT 30
32
39
42
45
47 TR_INTR = -3,
48
50 TR_CLOSED = -4
51};
52
53struct tr_socket;
54
59typedef void (*tr_close_fp)(void *socket);
60
65typedef int (*tr_open_fp)(void *socket);
66
72typedef void (*tr_free_fp)(struct tr_socket *tr_sock);
73
78typedef int (*tr_recv_fp)(const void *socket, void *pdu, const size_t len, const time_t timeout);
79
84typedef int (*tr_send_fp)(const void *socket, const void *pdu, const size_t len, const time_t timeout);
85
90typedef const char *(*tr_ident_fp)(void *socket);
91
111
112#endif
const char *(* tr_ident_fp)(void *socket)
A function pointer to a technology specific info function.
Definition transport.h:90
int(* tr_recv_fp)(const void *socket, void *pdu, const size_t len, const time_t timeout)
A function pointer to a technology specific recv function.
Definition transport.h:78
void(* tr_free_fp)(struct tr_socket *tr_sock)
A function pointer to a technology specific free function.
Definition transport.h:72
tr_rtvals
The return values for tr_ functions.
Definition transport.h:36
int(* tr_open_fp)(void *socket)
A function pointer to a technology specific open function.
Definition transport.h:65
void(* tr_close_fp)(void *socket)
A function pointer to a technology specific close function.
Definition transport.h:59
int(* tr_send_fp)(const void *socket, const void *pdu, const size_t len, const time_t timeout)
A function pointer to a technology specific send function.
Definition transport.h:84
@ TR_ERROR
Error occurred.
Definition transport.h:41
@ TR_INTR
Call was interrupted from a signal.
Definition transport.h:47
@ TR_CLOSED
Connection closed.
Definition transport.h:50
@ TR_WOULDBLOCK
No data is available on the socket.
Definition transport.h:44
@ TR_SUCCESS
Operation was successful.
Definition transport.h:38
uint32_t len
Definition rtr_pdus.h:4
A transport socket datastructure.
Definition transport.h:102
void * socket
Definition transport.h:103
tr_recv_fp recv_fp
Definition transport.h:108
tr_send_fp send_fp
Definition transport.h:107
tr_ident_fp ident_fp
Definition transport.h:109
tr_close_fp close_fp
Definition transport.h:105
tr_open_fp open_fp
Definition transport.h:104
tr_free_fp free_fp
Definition transport.h:106