00001 /* 00002 ** propvar.h for lseos in lseos-srv/basic/prop 00003 ** 00004 ** Made by Vianney Rancurel 00005 ** Login <vianney@epita.fr> 00006 ** 00007 ** Started on Tue Feb 17 17:14:41 2004 Vianney Rancurel 00008 ** Last update Mon Dec 6 11:53:39 2004 Vianney Rancurel 00009 */ 00010 #ifndef __PROPVAR_H__ 00011 #define __PROPVAR_H__ 1 00012 #include <libc.h> 00013 00014 typedef enum 00015 { 00016 PROP_DUMMY = 100, 00017 } t_prop_suberrno_codes; 00018 00019 struct s_prop_attachee; 00020 LIST_HEAD(s_prop_attachee_list, s_prop_attachee); 00021 typedef struct s_prop_attachee_list t_prop_attachee_list; 00022 00023 typedef struct s_prop_attachee 00024 { 00025 LIST_ENTRY(s_prop_attachee) list; 00026 00027 pid_t pid; 00028 int refcnt; 00029 } t_prop_attachee; 00030 00031 struct s_prop; 00032 LIST_HEAD(s_prop_list, s_prop); 00033 typedef struct s_prop_list t_prop_list; 00034 00035 typedef struct s_prop 00036 { 00037 LIST_ENTRY(s_prop) list; 00039 pid_t holder; 00040 int refcnt; 00041 t_prop_attachee_list attachees; 00042 00043 int type; 00044 u_int32_t ksum; 00045 char *kbuf; 00046 int klen; 00047 char *vbuf; 00048 int vlen; 00049 u_int32_t opts; 00050 mode_t perm; 00051 uid_t uid; 00052 gid_t gid; 00053 } t_prop; 00054 00055 #endif