diff options
| -rw-r--r-- | include/ouroboros/shm_ap_rbuff.h | 4 | ||||
| -rw-r--r-- | include/ouroboros/shm_du_map.h | 20 | ||||
| -rw-r--r-- | src/ipcpd/shim-udp/main.c | 3 | ||||
| -rw-r--r-- | src/lib/dev.c | 2 | ||||
| -rw-r--r-- | src/lib/shm_du_map.c | 20 | 
5 files changed, 24 insertions, 25 deletions
diff --git a/include/ouroboros/shm_ap_rbuff.h b/include/ouroboros/shm_ap_rbuff.h index 0ee3e81e..956a9540 100644 --- a/include/ouroboros/shm_ap_rbuff.h +++ b/include/ouroboros/shm_ap_rbuff.h @@ -37,8 +37,8 @@  struct shm_ap_rbuff;  struct rb_entry { -        size_t index; -        int    port_id; +        ssize_t index; +        int     port_id;  };  struct shm_ap_rbuff * shm_ap_rbuff_create(); diff --git a/include/ouroboros/shm_du_map.h b/include/ouroboros/shm_du_map.h index f575aa42..35d85b11 100644 --- a/include/ouroboros/shm_du_map.h +++ b/include/ouroboros/shm_du_map.h @@ -47,18 +47,18 @@ void                 shm_du_map_close(struct shm_du_map * dum);  void                 shm_du_map_destroy(struct shm_du_map * dum);  /* returns the index of the buffer in the DU map */ -int shm_create_du_buff(struct shm_du_map * dum, -                       size_t              size, -                       size_t              headspace, -                       uint8_t           * data, -                       size_t              len); +ssize_t  shm_create_du_buff(struct shm_du_map * dum, +                            size_t              size, +                            size_t              headspace, +                            uint8_t           * data, +                            size_t              len);  /* FIXME: revise these */ -int       shm_du_map_read_sdu(uint8_t **           dst, -                               struct shm_du_map * dum, -                               size_t              idx); -int       shm_release_du_buff(struct shm_du_map  * dum, size_t idx); - +int       shm_du_map_read_sdu(uint8_t **          dst, +                              struct shm_du_map * dum, +                              ssize_t             idx); +int       shm_release_du_buff(struct shm_du_map  * dum, +                              ssize_t idx);  /* FIXME: use shm_du_map * and index */  uint8_t * shm_du_buff_head_alloc(struct shm_du_buff * sdb, diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c index e3f7fcdd..0802583c 100644 --- a/src/ipcpd/shim-udp/main.c +++ b/src/ipcpd/shim-udp/main.c @@ -204,8 +204,7 @@ static int port_id_to_fd(int port_id)  static ssize_t ipcp_udp_flow_write(int fd, void * buf, size_t count)  { -        /* the AP chooses the amount of headspace and tailspace */ -        size_t index; +        ssize_t index;          struct rb_entry e;          rw_lock_rdlock(&_ipcp->state_lock); diff --git a/src/lib/dev.c b/src/lib/dev.c index 9b29b992..c365a17b 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -531,7 +531,7 @@ int flow_cntl(int fd, int cmd, int oflags)  ssize_t flow_write(int fd, void * buf, size_t count)  { -        size_t index; +        ssize_t index;          struct rb_entry e;          if (buf == NULL) diff --git a/src/lib/shm_du_map.c b/src/lib/shm_du_map.c index 7099b265..a7ec5ac9 100644 --- a/src/lib/shm_du_map.c +++ b/src/lib/shm_du_map.c @@ -227,11 +227,11 @@ void shm_du_map_destroy(struct shm_du_map * dum)          free(dum);  } -int shm_create_du_buff(struct shm_du_map * dum, -                       size_t              size, -                       size_t              headspace, -                       uint8_t *           data, -                       size_t              len) +ssize_t shm_create_du_buff(struct shm_du_map * dum, +                           size_t              size, +                           size_t              headspace, +                           uint8_t *           data, +                           size_t              len)  {          struct shm_du_buff * sdb;          long                 blocks = 0; @@ -239,7 +239,7 @@ int shm_create_du_buff(struct shm_du_map * dum,          int                  sz2 = headspace + len + sizeof *sdb;          uint8_t *            write_pos;          size_t               copy_len; -        size_t               index; +        ssize_t              index;          if (dum == NULL || data == NULL) {                  LOG_DBGF("Bogus input, bugging out."); @@ -294,7 +294,7 @@ int shm_create_du_buff(struct shm_du_map * dum,                  --blocks;          } -        index = *dum->ptr_head - 1; +        index = (*dum->ptr_head - 1) & (SHM_BLOCKS_IN_MAP - 1);          pthread_mutex_unlock(dum->shm_mutex); @@ -304,9 +304,9 @@ int shm_create_du_buff(struct shm_du_map * dum,  /* FIXME: this cannot handle packets stretching beyond the ringbuffer border */  int shm_du_map_read_sdu(uint8_t **          dst,                          struct shm_du_map * dum, -                        size_t              idx) +                        ssize_t             idx)  { -        size_t    len = 0; +        size_t len = 0;          if (idx > SHM_BLOCKS_IN_MAP)                  return -1; @@ -328,7 +328,7 @@ int shm_du_map_read_sdu(uint8_t **          dst,          return len;  } -int shm_release_du_buff(struct shm_du_map * dum, size_t idx) +int shm_release_du_buff(struct shm_du_map * dum, ssize_t idx)  {          long sz;          long blocks = 0;  | 
