This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/19344 )
Change subject: cosmetic: create HDLC specific sub-structure within e1_ts
......................................................................
cosmetic: create HDLC specific sub-structure within e1_ts
This groups all HDLC-specific members together, in preparation
of adding more fields for other modes.
Change-Id: Ide0577c25836252862153b4f24da550bee013687
---
M src/ctl.c
M src/e1d.h
M src/intf_line.c
3 files changed, 30 insertions(+), 28 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/44/19344/1
diff --git a/src/ctl.c b/src/ctl.c
index 4e74485..697af01 100644
--- a/src/ctl.c
+++ b/src/ctl.c
@@ -150,8 +150,8 @@
ts->mode = mode;
if (mode == E1_TS_MODE_HDLCFCS) {
- osmo_isdnhdlc_out_init(&ts->hdlc_tx, OSMO_HDLC_F_BITREVERSE);
- osmo_isdnhdlc_rcv_init(&ts->hdlc_rx, OSMO_HDLC_F_BITREVERSE);
+ osmo_isdnhdlc_out_init(&ts->hdlc.tx, OSMO_HDLC_F_BITREVERSE);
+ osmo_isdnhdlc_rcv_init(&ts->hdlc.rx, OSMO_HDLC_F_BITREVERSE);
}
int flags = fcntl(ts->fd, F_GETFL);
diff --git a/src/e1d.h b/src/e1d.h
index fca7d3e..98c3ddc 100644
--- a/src/e1d.h
+++ b/src/e1d.h
@@ -43,13 +43,15 @@
enum e1_ts_mode mode;
/* HDLC handling */
- struct osmo_isdnhdlc_vars hdlc_tx;
- struct osmo_isdnhdlc_vars hdlc_rx;
+ struct {
+ struct osmo_isdnhdlc_vars tx;
+ struct osmo_isdnhdlc_vars rx;
- uint8_t rx_buf[264];
- uint8_t tx_buf[264];
- int tx_ofs;
- int tx_len;
+ uint8_t rx_buf[264];
+ uint8_t tx_buf[264];
+ int tx_ofs;
+ int tx_len;
+ } hdlc;
/* Remote end */
int fd;
diff --git a/src/intf_line.c b/src/intf_line.c
index af0d45d..6213151 100644
--- a/src/intf_line.c
+++ b/src/intf_line.c
@@ -157,16 +157,16 @@
oi = 0;
while (oi < len) {
- rv = osmo_isdnhdlc_decode(&ts->hdlc_rx,
+ rv = osmo_isdnhdlc_decode(&ts->hdlc.rx,
&buf[oi], len-oi, &cl,
- ts->rx_buf, sizeof(ts->rx_buf)
+ ts->hdlc.rx_buf, sizeof(ts->hdlc.rx_buf)
);
if (rv > 0) {
int bytes_to_write = rv;
LOGPTS(ts, DXFR, LOGL_DEBUG, "RX Message: %d [ %s]\n",
- rv, osmo_hexdump(ts->rx_buf, rv));
- rv = write(ts->fd, ts->rx_buf, bytes_to_write);
+ rv, osmo_hexdump(ts->hdlc.rx_buf, rv));
+ rv = write(ts->fd, ts->hdlc.rx_buf, bytes_to_write);
if (rv < 0)
return rv;
} else if (rv < 0 && ts->id == 4) {
@@ -189,44 +189,44 @@
while (oo < len) {
/* Pending message ? */
- if (!ts->tx_len) {
- rv = recv(ts->fd, ts->tx_buf, sizeof(ts->tx_buf), MSG_TRUNC);
+ if (!ts->hdlc.tx_len) {
+ rv = recv(ts->fd, ts->hdlc.tx_buf, sizeof(ts->hdlc.tx_buf), MSG_TRUNC);
if (rv > 0) {
- if (rv > sizeof(ts->tx_buf)) {
+ if (rv > sizeof(ts->hdlc.tx_buf)) {
LOGPTS(ts, DXFR, LOGL_ERROR, "Truncated message: Client tried to "
"send %d bytes but our buffer is limited to %lu\n",
- rv, sizeof(ts->tx_buf));
- rv = sizeof(ts->tx_buf);
+ rv, sizeof(ts->hdlc.tx_buf));
+ rv = sizeof(ts->hdlc.tx_buf);
}
LOGPTS(ts, DXFR, LOGL_DEBUG, "TX Message: %d [ %s]\n",
- rv, osmo_hexdump(ts->tx_buf, rv));
- ts->tx_len = rv;
- ts->tx_ofs = 0;
+ rv, osmo_hexdump(ts->hdlc.tx_buf, rv));
+ ts->hdlc.tx_len = rv;
+ ts->hdlc.tx_ofs = 0;
} else if (rv < 0 && errno != EAGAIN)
return rv;
}
/* */
- rv = osmo_isdnhdlc_encode(&ts->hdlc_tx,
- &ts->tx_buf[ts->tx_ofs], ts->tx_len - ts->tx_ofs, &cl,
+ rv = osmo_isdnhdlc_encode(&ts->hdlc.tx,
+ &ts->hdlc.tx_buf[ts->hdlc.tx_ofs], ts->hdlc.tx_len - ts->hdlc.tx_ofs, &cl,
&buf[oo], len - oo
);
if (rv < 0)
LOGPTS(ts, DXFR, LOGL_ERROR, "ERR TX: %d\n", rv);
- if (ts->tx_ofs < ts->tx_len) {
+ if (ts->hdlc.tx_ofs < ts->hdlc.tx_len) {
LOGPTS(ts, DXFR, LOGL_DEBUG, "TX chunk %d/%d %d [ %s]\n",
- ts->tx_ofs, ts->tx_len, cl, osmo_hexdump(&buf[ts->tx_ofs], rv));
+ ts->hdlc.tx_ofs, ts->hdlc.tx_len, cl, osmo_hexdump(&buf[ts->hdlc.tx_ofs], rv));
}
if (rv > 0)
oo += rv;
- ts->tx_ofs += cl;
- if (ts->tx_ofs >= ts->tx_len) {
- ts->tx_len = 0;
- ts->tx_ofs = 0;
+ ts->hdlc.tx_ofs += cl;
+ if (ts->hdlc.tx_ofs >= ts->hdlc.tx_len) {
+ ts->hdlc.tx_len = 0;
+ ts->hdlc.tx_ofs = 0;
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/19344
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: Ide0577c25836252862153b4f24da550bee013687
Gerrit-Change-Number: 19344
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200720/2358ee4f/attachment.htm>