00001 #ifndef __QRES_GW_H__
00002 #define __QRES_GW_H__
00003
00004
00005 #include <linux/aquosa/qos_types.h>
00006
00019 typedef struct qres_params_t {
00020 qres_time_t Q_min;
00021 qres_time_t Q;
00022 qres_time_t P;
00023 unsigned int flags;
00024 qres_time_t timeout;
00025 } qres_params_t;
00026
00028 typedef struct qres_time_iparams_t {
00029 qres_sid_t server_id;
00030 qres_time_t exec_time;
00031 qres_atime_t abs_time;
00032 } qres_time_iparams_t;
00033
00034 typedef struct qres_attach_iparams_t {
00035 qres_sid_t server_id;
00036 pid_t pid;
00037 tid_t tid;
00038 } qres_attach_iparams_t;
00039
00044 typedef struct qres_iparams_t {
00045 qres_sid_t server_id;
00046 qres_params_t params;
00047 } qres_iparams_t;
00048
00049 typedef struct qres_timespec_iparams_t {
00050 qres_sid_t server_id;
00051 struct timespec timespec;
00052 } qres_timespec_iparams_t;
00053
00055 typedef struct qres_weight_iparams_t {
00056 qres_sid_t server_id;
00057 unsigned long weight;
00058 } qres_weight_iparams_t;
00059
00061 typedef enum {
00062 QRES_OP_CREATE_SERVER,
00063 QRES_OP_DESTROY_SERVER,
00064 QRES_OP_ATTACH_TO_SERVER,
00065 QRES_OP_DETACH_FROM_SERVER,
00066 QRES_OP_SET_PARAMS,
00067 QRES_OP_GET_PARAMS,
00068 QRES_OP_GET_EXEC_TIME,
00069 QRES_OP_GET_CURR_BUDGET,
00070 QRES_OP_GET_SERVER_ID,
00071 QRES_OP_GET_NEXT_BUDGET,
00072 QRES_OP_GET_APPR_BUDGET,
00073 QRES_OP_GET_DEADLINE,
00074 QRES_OP_SET_WEIGHT,
00075 QRES_OP_GET_WEIGHT
00076 } qres_op_t;
00077
00080 #define QRES_DEV_NAME "qosres"
00081
00085 #define QRES_MAJOR_NUM 240
00086
00087
00088 #endif