Print this page
dccp: starting module template


  62 #define MOD_PROP_PERM_READ      0x1
  63 #define MOD_PROP_PERM_WRITE     0x2
  64 #define MOD_PROP_PERM_RW        (MOD_PROP_PERM_READ|MOD_PROP_PERM_WRITE)
  65 
  66 /* mpr_flags values */
  67 #define MOD_PROP_ACTIVE         0x01    /* current value of the property */
  68 #define MOD_PROP_DEFAULT        0x02    /* default value of the property */
  69 #define MOD_PROP_POSSIBLE       0x04    /* possible values for the property */
  70 #define MOD_PROP_PERM           0x08    /* read/write permission for property */
  71 #define MOD_PROP_APPEND         0x10    /* append to multi-valued property */
  72 #define MOD_PROP_REMOVE         0x20    /* remove from multi-valued property */
  73 
  74 /* mpr_proto values */
  75 #define MOD_PROTO_NONE          0x00
  76 #define MOD_PROTO_IPV4          0x01    /* property is applicable to IPV4 */
  77 #define MOD_PROTO_IPV6          0x02    /* property is applicable to IPV6 */
  78 #define MOD_PROTO_RAWIP         0x04    /* property is applicable to ICMP */
  79 #define MOD_PROTO_TCP           0x08    /* property is applicable to TCP */
  80 #define MOD_PROTO_UDP           0x10    /* property is applicable to UDP */
  81 #define MOD_PROTO_SCTP          0x20    /* property is applicable to SCTP */

  82 
  83 /* property is applicable to both IPV[4|6] */
  84 #define MOD_PROTO_IP            (MOD_PROTO_IPV4|MOD_PROTO_IPV6)
  85 
  86 #ifdef  _KERNEL
  87 
  88 typedef struct mod_prop_info_s mod_prop_info_t;
  89 
  90 /* set/get property callback functions */
  91 typedef int     mod_prop_setf_t(void *, cred_t *, mod_prop_info_t *,
  92                     const char *, const void *, uint_t);
  93 typedef int     mod_prop_getf_t(void *, mod_prop_info_t *, const char *,
  94                     void *val, uint_t, uint_t);
  95 
  96 typedef struct mod_propval_uint32_s {
  97         uint32_t        mod_propval_umin;
  98         uint32_t        mod_propval_umax;
  99         uint32_t        mod_propval_ucur;
 100 } mod_propval_uint32_t;
 101 




  62 #define MOD_PROP_PERM_READ      0x1
  63 #define MOD_PROP_PERM_WRITE     0x2
  64 #define MOD_PROP_PERM_RW        (MOD_PROP_PERM_READ|MOD_PROP_PERM_WRITE)
  65 
  66 /* mpr_flags values */
  67 #define MOD_PROP_ACTIVE         0x01    /* current value of the property */
  68 #define MOD_PROP_DEFAULT        0x02    /* default value of the property */
  69 #define MOD_PROP_POSSIBLE       0x04    /* possible values for the property */
  70 #define MOD_PROP_PERM           0x08    /* read/write permission for property */
  71 #define MOD_PROP_APPEND         0x10    /* append to multi-valued property */
  72 #define MOD_PROP_REMOVE         0x20    /* remove from multi-valued property */
  73 
  74 /* mpr_proto values */
  75 #define MOD_PROTO_NONE          0x00
  76 #define MOD_PROTO_IPV4          0x01    /* property is applicable to IPV4 */
  77 #define MOD_PROTO_IPV6          0x02    /* property is applicable to IPV6 */
  78 #define MOD_PROTO_RAWIP         0x04    /* property is applicable to ICMP */
  79 #define MOD_PROTO_TCP           0x08    /* property is applicable to TCP */
  80 #define MOD_PROTO_UDP           0x10    /* property is applicable to UDP */
  81 #define MOD_PROTO_SCTP          0x20    /* property is applicable to SCTP */
  82 #define MOD_PROTO_DCCP          0x40    /* property is applicable to DCCP */
  83 
  84 /* property is applicable to both IPV[4|6] */
  85 #define MOD_PROTO_IP            (MOD_PROTO_IPV4|MOD_PROTO_IPV6)
  86 
  87 #ifdef  _KERNEL
  88 
  89 typedef struct mod_prop_info_s mod_prop_info_t;
  90 
  91 /* set/get property callback functions */
  92 typedef int     mod_prop_setf_t(void *, cred_t *, mod_prop_info_t *,
  93                     const char *, const void *, uint_t);
  94 typedef int     mod_prop_getf_t(void *, mod_prop_info_t *, const char *,
  95                     void *val, uint_t, uint_t);
  96 
  97 typedef struct mod_propval_uint32_s {
  98         uint32_t        mod_propval_umin;
  99         uint32_t        mod_propval_umax;
 100         uint32_t        mod_propval_ucur;
 101 } mod_propval_uint32_t;
 102