diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-04-01 15:01:51 +0200 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-04-01 15:01:51 +0200 |
commit | 65591e5211fb3c44450c52d7534918902e0760d5 (patch) | |
tree | b3f21e0bdb9cf0e773962db73be041bb86d0ee44 /include/ouroboros/ipcp.h | |
parent | 3d859bb9a75932a6cffdd37466d510b479c9aa71 (diff) | |
parent | 0e1aeba4f2d2de3ce827bfaeb1d9f2480e628529 (diff) | |
download | ouroboros-65591e5211fb3c44450c52d7534918902e0760d5.tar.gz ouroboros-65591e5211fb3c44450c52d7534918902e0760d5.zip |
Merge branch 'be' of bitbucket.org:ouroboros-rina/ouroboros into be-build
Diffstat (limited to 'include/ouroboros/ipcp.h')
-rw-r--r-- | include/ouroboros/ipcp.h | 75 |
1 files changed, 55 insertions, 20 deletions
diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h index b8775fc0..fdaf5c4a 100644 --- a/include/ouroboros/ipcp.h +++ b/include/ouroboros/ipcp.h @@ -23,31 +23,66 @@ #ifndef OUROBOROS_IPCP_H #define OUROBOROS_IPCP_H -#include <sys/types.h> +#include <ouroboros/common.h> +#include <ouroboros/instance_name.h> -#include "common.h" -#include "rina_name.h" +#include <sys/types.h> struct ipcp; /* Returns the process id */ -pid_t ipcp_create(rina_name_t name, - char * ipcp_type); -int ipcp_destroy(pid_t pid); - -int ipcp_reg(pid_t pid, - char ** difs, - size_t difs_size); -int ipcp_unreg(pid_t pid, +pid_t ipcp_create(instance_name_t * api, + char * ipcp_type); +int ipcp_destroy(pid_t pid); + +int ipcp_reg(pid_t pid, char ** difs, - size_t difs_size); + size_t difs_size); +int ipcp_unreg(pid_t pid, + char ** difs, + size_t difs_size); + +int ipcp_bootstrap(pid_t pid, + struct dif_config * conf); +int ipcp_enroll(pid_t pid, + char * member_name, + char * n_1_dif); + +/* Flow related ops, these go from IRMd to IPCP */ + +int ipcp_ap_reg(pid_t pid, + uint32_t reg_api_id, + char * ap_name); +int ipcp_ap_unreg(pid_t pid, + uint32_t reg_api_id); + +int ipcp_flow_alloc(pid_t pid, + uint32_t port_id, + char * dst_ap_name, + char * src_ap_name, + char * src_ae_name, + struct qos_spec * qos); +int ipcp_flow_alloc_resp(pid_t pid, + uint32_t port_id, + int result); + +/* These operations go from the IPCP to the IRMd */ + +/* Returns the port_id */ +int ipcp_flow_req_arr(pid_t pid, + uint32_t reg_api_id, + char * ap_name, + char * ae_name); +int ipcp_flow_alloc_reply(pid_t pid, + uint32_t port_id, + int result); + +/* + * This operation can go both ways + * pid == 0 means the IRMd is the destination + */ +int ipcp_flow_dealloc(pid_t pid, + uint32_t port_id); -int ipcp_bootstrap(pid_t pid, - struct dif_config conf); -int ipcp_enroll(pid_t pid, - char * dif_name, - char * member_name, - char ** n_1_difs, - ssize_t n_1_difs_size); -#endif +#endif /* OUROBOROS_IPCP_H */ |