00001 #ifndef __QSUP_KS_H__ 00002 #define __QSUP_KS_H__ 00003 00004 #include <linux/aquosa/qos_debug.h> 00005 #include <linux/aquosa/qos_types.h> 00006 00019 typedef struct qsup_constraints_t { 00020 int level; 00021 int weight; 00022 qos_bw_t max_bw; 00023 qos_bw_t max_min_bw; 00024 unsigned int flags_mask; 00025 } qsup_constraints_t; 00026 00028 typedef enum { 00029 QSUP_OP_ADD_LEVEL_RULE, 00030 QSUP_OP_ADD_GROUP_RULE, 00031 QSUP_OP_ADD_USER_RULE, 00032 QSUP_OP_FIND_CONSTR, 00033 QSUP_OP_GET_AVAIL_GUA_BW, 00034 QSUP_OP_RESERVE_SPARE, 00035 } qsup_op_t; 00036 00037 typedef struct qsup_iparams_t { 00038 union { 00039 struct { 00040 int level_id; 00041 qos_bw_t max_level_bw; 00042 } level_rule; 00043 struct { 00044 int gid; 00045 qsup_constraints_t constr; 00046 } group_rule; 00047 struct { 00048 int uid; 00049 qsup_constraints_t constr; 00050 } user_rule; 00051 struct { 00052 int uid, gid; 00053 qsup_constraints_t constr; 00054 } found_rule; 00055 struct { 00056 int uid, gid; 00057 qos_bw_t avail_gua_bw; 00058 } avail; 00059 qos_bw_t spare_bw; 00060 } u; 00061 } qsup_iparams_t; 00062 00065 #define QSUP_DEV_NAME "qossup" 00066 00068 #define QSUP_MAJOR_NUM 242 00069 00072 #endif