diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/dif_config.h | 68 | ||||
-rw-r--r-- | include/ouroboros/irm_config.h | 5 | ||||
-rw-r--r-- | include/ouroboros/shm_rdrbuff.h | 15 |
3 files changed, 10 insertions, 78 deletions
diff --git a/include/ouroboros/dif_config.h b/include/ouroboros/dif_config.h deleted file mode 100644 index 2e354e8c..00000000 --- a/include/ouroboros/dif_config.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - * - * DIF configurations for each IPCP type - * - * Sander Vrijders <sander.vrijders@intec.ugent.be> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <stdint.h> -#include <unistd.h> - -#ifndef OUROBOROS_DIF_CONFIG_H -#define OUROBOROS_DIF_CONFIG_H - -enum ipcp_type { - IPCP_LOCAL = 0, - IPCP_NORMAL, - IPCP_SHIM_UDP, - IPCP_SHIM_ETH_LLC -}; - -struct dif_config { - char * dif_name; - enum ipcp_type type; - - union { - /* Normal DIF */ - struct { - uint8_t addr_size; - uint8_t cep_id_size; - uint8_t pdu_length_size; - uint8_t seqno_size; - - /* DUP constants */ - uint8_t ttl_size; - uint8_t chk_size; - - uint32_t min_pdu_size; - uint32_t max_pdu_size; - }; - /* Shim UDP */ - struct { - uint32_t ip_addr; - uint32_t dns_addr; - }; - /* Shim Ethernet LLC */ - struct { - char * if_name; - }; - }; -}; - - -#endif /* OUROBOROS_DIF_CONFIG_H */ diff --git a/include/ouroboros/irm_config.h b/include/ouroboros/irm_config.h index d5f2b565..ba58f2f7 100644 --- a/include/ouroboros/irm_config.h +++ b/include/ouroboros/irm_config.h @@ -22,6 +22,7 @@ #include <stdint.h> #include <unistd.h> +#include <stdbool.h> #ifndef OUROBOROS_IRM_CONFIG_H #define OUROBOROS_IRM_CONFIG_H @@ -52,8 +53,8 @@ struct dif_config { uint8_t seqno_size; /* DUP constants */ - uint8_t ttl_size; - uint8_t chk_size; + bool has_ttl; + bool has_chk; uint32_t min_pdu_size; uint32_t max_pdu_size; diff --git a/include/ouroboros/shm_rdrbuff.h b/include/ouroboros/shm_rdrbuff.h index 6cdaa7bf..7a7049e3 100644 --- a/include/ouroboros/shm_rdrbuff.h +++ b/include/ouroboros/shm_rdrbuff.h @@ -65,20 +65,19 @@ int shm_rdrbuff_read(uint8_t ** dst, int shm_rdrbuff_remove(struct shm_rdrbuff * rdrb, ssize_t idx); +uint8_t * shm_du_buff_head(struct shm_du_buff * sdb); -uint8_t * shm_du_buff_head_alloc(struct shm_rdrbuff * rdrb, - ssize_t idx, +uint8_t * shm_du_buff_tail(struct shm_du_buff * sdb); + +uint8_t * shm_du_buff_head_alloc(struct shm_du_buff * sdb, size_t size); -uint8_t * shm_du_buff_tail_alloc(struct shm_rdrbuff * rdrb, - ssize_t idx, +uint8_t * shm_du_buff_tail_alloc(struct shm_du_buff * sdb, size_t size); -int shm_du_buff_head_release(struct shm_rdrbuff * rdrb, - ssize_t idx, +int shm_du_buff_head_release(struct shm_du_buff * sdb, size_t size); -int shm_du_buff_tail_release(struct shm_rdrbuff * rdrb, - ssize_t idx, +int shm_du_buff_tail_release(struct shm_du_buff * sdb, size_t size); #endif /* OUROBOROS_SHM_RDRBUFF_H */ |