diff options
-rw-r--r-- | include/lce.h | 4 | ||||
-rw-r--r-- | src/lce.c | 27 |
2 files changed, 21 insertions, 10 deletions
diff --git a/include/lce.h b/include/lce.h index 047646c..56e4b16 100644 --- a/include/lce.h +++ b/include/lce.h @@ -56,6 +56,10 @@ struct dect_transaction { uint16_t tv; }; +extern int dect_ddl_open_transaction(struct dect_handle *dh, + struct dect_transaction *ta, + struct dect_data_link *ddl, + enum dect_pds pd); extern int dect_open_transaction(struct dect_handle *dh, struct dect_transaction *ta, const struct dect_ipui *ipui, @@ -733,19 +733,11 @@ static int dect_transaction_alloc_tv(const struct dect_data_link *ddl, return -1; } -int dect_open_transaction(struct dect_handle *dh, struct dect_transaction *ta, - const struct dect_ipui *ipui, enum dect_pds pd) +int dect_ddl_open_transaction(struct dect_handle *dh, struct dect_transaction *ta, + struct dect_data_link *ddl, enum dect_pds pd) { - struct dect_data_link *ddl; int tv; - ddl = dect_ddl_get_by_ipui(dh, ipui); - if (ddl == NULL) { - ddl = dect_ddl_establish(dh, ipui); - if (ddl == NULL) - return -1; - } - ddl_debug(ddl, "open transaction"); tv = dect_transaction_alloc_tv(ddl, protocols[pd]); if (tv < 0) @@ -760,6 +752,21 @@ int dect_open_transaction(struct dect_handle *dh, struct dect_transaction *ta, return 0; } +int dect_open_transaction(struct dect_handle *dh, struct dect_transaction *ta, + const struct dect_ipui *ipui, enum dect_pds pd) +{ + struct dect_data_link *ddl; + + ddl = dect_ddl_get_by_ipui(dh, ipui); + if (ddl == NULL) { + ddl = dect_ddl_establish(dh, ipui); + if (ddl == NULL) + return -1; + } + + return dect_ddl_open_transaction(dh, ta, ddl, pd); +} + void dect_confirm_transaction(struct dect_handle *dh, struct dect_transaction *ta, const struct dect_transaction *req) { |