diff options
| author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-05-14 21:59:46 +0200 | 
|---|---|---|
| committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-05-14 21:59:46 +0200 | 
| commit | 1712f5d78567bbad7a0608fb1428be000a83fe4a (patch) | |
| tree | 0831f200a4e2d38d68393a4bccfbd2d5c48d2586 /include | |
| parent | 43228f68f8e577015fe8116ab145fcc45ab789e7 (diff) | |
| parent | 8f1e46eab45ba0f497f05d6fe18fb83d8590b3e9 (diff) | |
| download | ouroboros-1712f5d78567bbad7a0608fb1428be000a83fe4a.tar.gz ouroboros-1712f5d78567bbad7a0608fb1428be000a83fe4a.zip | |
Merged in sandervrijders/ouroboros/be (pull request #84)
lib, ipcpd, irmd: Add QoS cube definition
Diffstat (limited to 'include')
| -rw-r--r-- | include/ouroboros/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | include/ouroboros/cdap.h | 37 | ||||
| -rw-r--r-- | include/ouroboros/common.h | 11 | ||||
| -rw-r--r-- | include/ouroboros/da.h | 4 | ||||
| -rw-r--r-- | include/ouroboros/dev.h | 9 | ||||
| -rw-r--r-- | include/ouroboros/dif_config.h | 4 | ||||
| -rw-r--r-- | include/ouroboros/flow.h | 4 | ||||
| -rw-r--r-- | include/ouroboros/instance_name.h | 4 | ||||
| -rw-r--r-- | include/ouroboros/ipcp.h | 22 | ||||
| -rw-r--r-- | include/ouroboros/qos.h | 35 | 
10 files changed, 85 insertions, 60 deletions
| diff --git a/include/ouroboros/CMakeLists.txt b/include/ouroboros/CMakeLists.txt index f1276f51..6e49ee04 100644 --- a/include/ouroboros/CMakeLists.txt +++ b/include/ouroboros/CMakeLists.txt @@ -3,25 +3,14 @@ configure_file(    "${CMAKE_CURRENT_BINARY_DIR}/config.h")  set(HEADER_FILES -        bitmap.h          cdap.h -        common.h          da.h          dev.h          dif_config.h -        du_buff.h          flow.h          instance_name.h -        ipcp.h          irm.h -        list.h -        logs.h -        rw_lock.h -        shm_ap_rbuff.h -        shm_du_map.h -        sockets.h -        utils.h +        qos.h  ) -install(FILES ${HEADER_FILES} "${CMAKE_CURRENT_BINARY_DIR}/config.h" -        DESTINATION include/ouroboros) +install(FILES ${HEADER_FILES} DESTINATION include/ouroboros) diff --git a/include/ouroboros/cdap.h b/include/ouroboros/cdap.h index f1abeff5..72788ad6 100644 --- a/include/ouroboros/cdap.h +++ b/include/ouroboros/cdap.h @@ -23,81 +23,80 @@  #ifndef OUROBOROS_CDAP_H  #define OUROBOROS_CDAP_H -#include "common.h"  #include <stdbool.h>  struct cdap;  struct cdap_ops {          /* Sender related callbacks */ -        int (* handle_connect_r)(port_id_t id, +        int (* handle_connect_r)(int fd,                                   int invoke_id,                                   int result); -        int (* handle_release_r)(port_id_t id, +        int (* handle_release_r)(int fd,                                   int invoke_id,                                   int result); -        int (* handle_read_r)(port_id_t id, +        int (* handle_read_r)(int fd,                                int invoke_id,                                int result,                                char * reason,                                char * obj_val,                                bool complete); -        int (* handle_cancelread_r)(port_id_t id, +        int (* handle_cancelread_r)(int fd,                                      int invoke_id,                                      int result); -        int (* handle_write_r)(port_id_t id, +        int (* handle_write_r)(int fd,                                 int invoke_id,                                 int result,                                 char * reason,                                 char * obj_val); -        int (* handle_create_r)(port_id_t id, +        int (* handle_create_r)(int fd,                                  int invoke_id,                                  int result); -        int (* handle_delete_r)(port_id_t id, +        int (* handle_delete_r)(int fd,                                  int invoke_id,                                  int result); -        int (* handle_start_r)(port_id_t id, +        int (* handle_start_r)(int fd,                                 int invoke_id,                                 int result); -        int (* handle_stop_r)(port_id_t id, +        int (* handle_stop_r)(int fd,                                int invoke_id,                                int result);          /* Receiver related callbacks */ -        int (* handle_connect)(port_id_t id, +        int (* handle_connect)(int fd,                                 int invoke_id,                                 rina_name_t src,                                 rina_name_t dst,                                 char * auth_mech,                                 char * auth_val); -        int (* handle_release)(port_id_t id, +        int (* handle_release)(int fd,                                 int invoke_id); -        int (* handle_cancelread)(port_id_t id, +        int (* handle_cancelread)(int fd,                                    int invoke_id); -        int (* handle_write)(port_id_t id, +        int (* handle_write)(int fd,                               int invoke_id,                               char * obj_name,                               char * obj_val); -        int (* handle_create)(port_id_t id, +        int (* handle_create)(int fd,                                int invoke_id,                                char * obj_class,                                char * obj_name,                                char * obj_val); -        int (* handle_delete)(port_id_t id, +        int (* handle_delete)(int fd,                                int invoke_id,                                char * obj_name); -        int (* handle_start)(port_id_t id, +        int (* handle_start)(int fd,                               int invoke_id,                               char * obj_name,                               char * obj_val); -        int (* handle_stop)(port_id_t id, +        int (* handle_stop)(int fd,                              int invoke_id,                              char * obj_name,                              char * obj_val);  };  struct cdap * cdap_create(struct cdap_ops ops, -                          port_id_t id); +                          int fd);  int           cdap_destroy(struct cdap * instance);  /* Sender related functions */ diff --git a/include/ouroboros/common.h b/include/ouroboros/common.h index 971a382a..f2c8a9ec 100644 --- a/include/ouroboros/common.h +++ b/include/ouroboros/common.h @@ -33,13 +33,10 @@ typedef struct {          size_t    size;  } buffer_t; -/* FIXME: may need revision */ -struct qos_spec { -        char * qos_name; -        char * dif_name; - -        uint32_t delay; -        uint32_t jitter; +/* FIXME: To be decided which QoS cubes we support */ +enum qos_cube { +        QOS_CUBE_BE = 0, +        QOS_CUBE_VIDEO  };  #endif /* OUROBOROS_COMMON_H */ diff --git a/include/ouroboros/da.h b/include/ouroboros/da.h index 9ecd4bd8..406be7a8 100644 --- a/include/ouroboros/da.h +++ b/include/ouroboros/da.h @@ -23,8 +23,8 @@  #ifndef OUROBOROS_DA_H  #define OUROBOROS_DA_H -#include "common.h" -#include "instance_name.h" +#include <stdint.h> +#include <unistd.h>  char *  da_resolve_daf(char * daf_name);  /* diff --git a/include/ouroboros/dev.h b/include/ouroboros/dev.h index d8e65144..506fa789 100644 --- a/include/ouroboros/dev.h +++ b/include/ouroboros/dev.h @@ -20,12 +20,15 @@   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   */ -#ifndef OUROBOROS_DEV_H -#define OUROBOROS_DEV_H +#include <unistd.h> +#include <stdint.h> -#include <ouroboros/common.h> +#include <ouroboros/qos.h>  #include <ouroboros/flow.h> +#ifndef OUROBOROS_DEV_H +#define OUROBOROS_DEV_H +  #define UNKNOWN_AP "__UNKNOWN_AP__"  #define UNKNOWN_AE "__UNKNOWN_AE__" diff --git a/include/ouroboros/dif_config.h b/include/ouroboros/dif_config.h index 5d489b0c..d76d4f68 100644 --- a/include/ouroboros/dif_config.h +++ b/include/ouroboros/dif_config.h @@ -20,8 +20,8 @@   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   */ -#include <ouroboros/utils.h> -#include <ouroboros/common.h> +#include <stdint.h> +#include <unistd.h>  #ifndef OUROBOROS_DIF_CONFIG_H  #define OUROBOROS_DIF_CONFIG_H diff --git a/include/ouroboros/flow.h b/include/ouroboros/flow.h index 380c671b..aa377034 100644 --- a/include/ouroboros/flow.h +++ b/include/ouroboros/flow.h @@ -39,8 +39,8 @@  enum flow_state {          FLOW_NULL = 0, -        FLOW_ALLOCATED, -        FLOW_PENDING +        FLOW_PENDING, +        FLOW_ALLOCATED  };  #endif /* OUROBOROS_FLOW_H */ diff --git a/include/ouroboros/instance_name.h b/include/ouroboros/instance_name.h index 351b222f..92681504 100644 --- a/include/ouroboros/instance_name.h +++ b/include/ouroboros/instance_name.h @@ -22,7 +22,9 @@  #ifndef INSTANCE_NAME_H  #define INSTANCE_NAME_H -#include "common.h" +#include <stdint.h> +#include <unistd.h> +#include <stdbool.h>  typedef struct {          char *   name; diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h index 63e19e9d..08bee33e 100644 --- a/include/ouroboros/ipcp.h +++ b/include/ouroboros/ipcp.h @@ -20,16 +20,16 @@   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   */ -#ifndef OUROBOROS_IPCP_H -#define OUROBOROS_IPCP_H - -#include <ouroboros/common.h>  #include <ouroboros/dif_config.h>  #include <ouroboros/instance_name.h>  #include <ouroboros/sockets.h> +#include <ouroboros/common.h>  #include <sys/types.h> +#ifndef OUROBOROS_IPCP_H +#define OUROBOROS_IPCP_H +  struct ipcp;  /* Returns the process id */ @@ -59,13 +59,13 @@ int   ipcp_name_reg(pid_t  pid,  int   ipcp_name_unreg(pid_t  pid,                        char * name); -int   ipcp_flow_alloc(pid_t             pid, -                      int               port_id, -                      pid_t             n_pid, -                      char *            dst_name, -                      char *            src_ap_name, -                      char *            src_ae_name, -                      struct qos_spec * qos); +int   ipcp_flow_alloc(pid_t         pid, +                      int           port_id, +                      pid_t         n_pid, +                      char *        dst_name, +                      char *        src_ap_name, +                      char *        src_ae_name, +                      enum qos_cube qos);  int   ipcp_flow_alloc_resp(pid_t pid,                             int   port_id,                             pid_t n_pid, diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h new file mode 100644 index 00000000..c87b7c69 --- /dev/null +++ b/include/ouroboros/qos.h @@ -0,0 +1,35 @@ +/* + * Ouroboros - Copyright (C) 2016 + * + * Quality of Service specification + * + *    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. + */ + +#ifndef OUROBOROS_QOS_H +#define OUROBOROS_QOS_H + +/* FIXME: may need revision */ +struct qos_spec { +        char * qos_name; +        char * dif_name; + +        uint32_t delay; +        uint32_t jitter; +}; + +#endif | 
