libosmo-netif  1.2.0.67-9ee4
Osmocom network interface library
ipa.h
1 #ifndef _OSMO_NETIF_IPA_H_
2 #define _OSMO_NETIF_IPA_H_
3 
4 #include <osmocom/gsm/protocol/ipaccess.h>
5 #include <osmocom/gsm/ipa.h>
6 
7 /* This is like 'struct ipaccess_head' in libosmocore, but 'ipa_head' is
8  * actually the more apropriate name, so rather than making more code
9  * use the wrong name, let's keep the duplicate header definitions below */
10 struct ipa_head {
11  uint16_t len; /* network byte order */
12  uint8_t proto;
13  uint8_t data[0];
14 } __attribute__ ((packed));
15 
16 struct ipa_head_ext {
17  uint8_t proto;
18  uint8_t data[0];
19 } __attribute__ ((packed));
20 
21 struct msgb *osmo_ipa_msg_alloc(int headroom);
22 void osmo_ipa_msg_push_header(struct msgb *msg, uint8_t proto);
23 
24 int osmo_ipa_process_msg(struct msgb *msg);
25 
26 struct osmo_fd;
27 struct tlv_parsed;
28 
29 int osmo_ipa_rcvmsg_base(struct msgb *msg, struct osmo_fd *bfd, int server);
30 int osmo_ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data);
31 
32 int ipaccess_send_pong(int fd);
33 int ipaccess_send_id_ack(int fd);
34 int ipaccess_send_id_req(int fd);
35 
36 struct osmo_ipa_unit;
37 
38 struct msgb *ipa_cli_id_resp(struct osmo_ipa_unit *dev, uint8_t *data, int len);
39 struct msgb *ipa_cli_id_ack(void);
40 
41 int osmo_ipa_parse_msg_id_resp(struct msgb *msg, struct ipaccess_unit *unit_data);
42 
43 #endif
Definition: ipa.h:10
Definition: ipa.h:16
Definition: ipa_unit.c:27