diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/ipcp-dev.h | 42 | ||||
-rw-r--r-- | include/ouroboros/ipcp.h | 32 |
2 files changed, 41 insertions, 33 deletions
diff --git a/include/ouroboros/ipcp-dev.h b/include/ouroboros/ipcp-dev.h index d60e0b45..b57cec0d 100644 --- a/include/ouroboros/ipcp-dev.h +++ b/include/ouroboros/ipcp-dev.h @@ -26,33 +26,35 @@ #ifndef OUROBOROS_IPCP_DEV_H #define OUROBOROS_IPCP_DEV_H -int ipcp_create_r(int result); +int ipcp_create_r(int result); -int ipcp_flow_req_arr(const uint8_t * dst, - size_t len, - qosspec_t qs, - const void * data, - size_t dlen); +int ipcp_flow_req_arr(const uint8_t * dst, + size_t len, + qosspec_t qs, + const void * data, + size_t dlen); -int ipcp_flow_alloc_reply(int fd, - int response, - const void * data, - size_t len); +int ipcp_flow_alloc_reply(int fd, + int response, + const void * data, + size_t len); -int ipcp_flow_read(int fd, - struct shm_du_buff ** sdb); +int ipcp_flow_read(int fd, + struct shm_du_buff ** sdb); -int ipcp_flow_write(int fd, - struct shm_du_buff * sdb); +int ipcp_flow_write(int fd, + struct shm_du_buff * sdb); -int ipcp_flow_fini(int fd); +int ipcp_flow_fini(int fd); -int ipcp_flow_get_qoscube(int fd, - qoscube_t * cube); +int ipcp_flow_get_qoscube(int fd, + qoscube_t * cube); -int ipcp_sdb_reserve(struct shm_du_buff ** sdb, - size_t len); +size_t ipcp_flow_queued(int fd); -void ipcp_sdb_release(struct shm_du_buff * sdb); +int ipcp_sdb_reserve(struct shm_du_buff ** sdb, + size_t len); + +void ipcp_sdb_release(struct shm_du_buff * sdb); #endif /* OUROBOROS_IPCP_DEV_H */ diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h index 6494d9b7..86dfd2da 100644 --- a/include/ouroboros/ipcp.h +++ b/include/ouroboros/ipcp.h @@ -55,6 +55,11 @@ enum pol_routing { ROUTING_LINK_STATE_ECMP }; +enum pol_cong_avoid { + CA_NONE = 0, + CA_MB_ECN +}; + enum pol_dir_hash { DIR_HASH_SHA3_224 = 0, DIR_HASH_SHA3_256, @@ -70,29 +75,30 @@ struct layer_info { /* Structure to configure the first IPCP */ struct ipcp_config { - struct layer_info layer_info; + struct layer_info layer_info; - enum ipcp_type type; + enum ipcp_type type; /* Unicast */ - uint8_t addr_size; - uint8_t eid_size; - uint8_t max_ttl; + uint8_t addr_size; + uint8_t eid_size; + uint8_t max_ttl; - enum pol_addr_auth addr_auth_type; - enum pol_routing routing_type; + enum pol_addr_auth addr_auth_type; + enum pol_routing routing_type; + enum pol_cong_avoid cong_avoid; /* UDP */ - uint32_t ip_addr; - uint32_t dns_addr; - uint16_t clt_port; - uint16_t srv_port; + uint32_t ip_addr; + uint32_t dns_addr; + uint16_t clt_port; + uint16_t srv_port; /* Ethernet */ - char * dev; + char * dev; /* Ethernet DIX */ - uint16_t ethertype; + uint16_t ethertype; }; #endif /* OUROBOROS_IPCP_H */ |