summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/abis/e1_input.h7
-rw-r--r--include/osmocom/abis/ipa.h9
-rw-r--r--include/osmocom/abis/ipaccess.h10
3 files changed, 20 insertions, 6 deletions
diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h
index a9b6178..d2033ef 100644
--- a/include/osmocom/abis/e1_input.h
+++ b/include/osmocom/abis/e1_input.h
@@ -116,6 +116,7 @@ struct e1inp_driver {
const char *name;
int (*want_write)(struct e1inp_ts *ts);
int (*line_update)(struct e1inp_line *line, enum e1inp_line_role role, const char *addr);
+ void (*close)(struct e1inp_ts *ts);
int default_delay;
};
@@ -123,9 +124,9 @@ struct e1inp_line_ops {
enum e1inp_line_role role;
char *addr;
- int (*sign_link_up)(struct msgb *msg, struct e1inp_line *line, enum e1inp_sign_type type);
- int (*sign_link)(struct msgb *msg, struct e1inp_line *line, struct e1inp_sign_link *link);
- int (*error)(struct msgb *msg, struct e1inp_line *line, enum e1inp_sign_type type, int error);
+ struct e1inp_sign_link * (*sign_link_up)(void *unit_info, struct e1inp_line *line, enum e1inp_sign_type type);
+ void (*sign_link_down)(struct e1inp_line *line);
+ int (*sign_link)(struct msgb *msg, struct e1inp_sign_link *link);
};
struct e1inp_line {
diff --git a/include/osmocom/abis/ipa.h b/include/osmocom/abis/ipa.h
index f088ec0..d455069 100644
--- a/include/osmocom/abis/ipa.h
+++ b/include/osmocom/abis/ipa.h
@@ -42,19 +42,22 @@ enum ipa_client_link_state {
struct ipa_client_link {
struct e1inp_line *line;
- struct osmo_fd ofd;
+ struct osmo_fd *ofd;
struct llist_head tx_queue;
struct osmo_timer_list timer;
enum ipa_client_link_state state;
const char *addr;
uint16_t port;
- int (*cb)(struct ipa_client_link *link, struct msgb *msg);
+ int (*read_cb)(struct ipa_client_link *link, struct msgb *msg);
+ int (*write_cb)(struct ipa_client_link *link);
void *data;
};
-struct ipa_client_link *ipa_client_link_create(void *ctx, struct e1inp_line *line, const char *addr, uint16_t port, int (*cb)(struct ipa_client_link *link, struct msgb *msgb), void *data);
+struct ipa_client_link *ipa_client_link_create(void *ctx, struct e1inp_ts *ts, const char *driver_name, int priv_nr, const char *addr, uint16_t port, int (*read_cb)(struct ipa_client_link *link, struct msgb *msgb), int (*write_cb)(struct ipa_client_link *link), void *data);
void ipa_client_link_destroy(struct ipa_client_link *link);
+int ipa_client_write_default_cb(struct ipa_client_link *link);
+
int ipa_client_link_open(struct ipa_client_link *link);
void ipa_client_link_close(struct ipa_client_link *link);
diff --git a/include/osmocom/abis/ipaccess.h b/include/osmocom/abis/ipaccess.h
index 2792572..d4174a8 100644
--- a/include/osmocom/abis/ipaccess.h
+++ b/include/osmocom/abis/ipaccess.h
@@ -90,4 +90,14 @@ struct sdp_header_entry {
uint32_t start;
} __attribute__((packed));
+struct ipaccess_unit {
+ uint16_t site_id;
+ uint16_t bts_id;
+ uint16_t trx_id;
+};
+
+struct hsl_unit {
+ unsigned long serno;
+};
+
#endif /* _OSMO_PROTO_IPACCESS_H */