00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00035 #ifndef VOLUMESVCS_PRV_H
00036 #define VOLUMESVCS_PRV_H
00037
00038 #include <hiker/volumesvcs.h>
00039
00040 #define ALP_VOLUMESVCS_SERVER_CHANNEL "alp_volumesvcs_server" // user requests come in here
00041 #define ALP_VOLUMESVCS_UDEV_CHANNEL "alp_volumesvcs_udev" // udev evnents come in here
00042 #define ALP_VOLUMESVCS_APPID "com.access.servers.volumesvcsd"
00043
00044
00045
00046
00047 #define ALP_VOLUMESVCS_DEVNAME_CODE 0
00048 #define ALP_VOLUMESVCS_DEVPATH_CODE 1
00049 #define ALP_VOLUMESVCS_PHYSBUS_CODE 2
00050 #define ALP_VOLUMESVCS_MAJOR_CODE 3
00051 #define ALP_VOLUMESVCS_MINOR_CODE 4
00052 #define ALP_VOLUMESVCS_ID_FS_LABEL_CODE 5
00053 #define ALP_VOLUMESVCS_ID_FS_TYPE_CODE 6
00054 #define ALP_VOLUMESVCS_ID_FS_UUID_CODE 7
00055 #define ALP_VOLUMESVCS_UDEV_CODES 8
00056
00057 typedef struct {
00058 short code;
00059 char *envvar;
00060 } prv_alpudevmap_t;
00061
00062 static const prv_alpudevmap_t sudevmap[]={
00063 {ALP_VOLUMESVCS_DEVNAME_CODE,"DEVNAME"},
00064 {ALP_VOLUMESVCS_DEVPATH_CODE,"DEVPATH"},
00065 {ALP_VOLUMESVCS_PHYSBUS_CODE,"PHYSDEVBUS"},
00066 {ALP_VOLUMESVCS_MAJOR_CODE,"MAJOR"},
00067 {ALP_VOLUMESVCS_MINOR_CODE,"MINOR"},
00068 {ALP_VOLUMESVCS_ID_FS_LABEL_CODE,"ID_FS_LABEL"},
00069 {ALP_VOLUMESVCS_ID_FS_TYPE_CODE,"ID_FS_TYPE"},
00070 {ALP_VOLUMESVCS_ID_FS_UUID_CODE,"ID_FS_UUID"}
00071 };
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 #define ALP_VOLUMESVCS_CMD_MOUNT ALP_CLASS_VOLUMESVCS + 1
00082
00083
00084 #define ALP_VOLUMESVCS_USER_CMD_MIN ALP_VOLUMESVCS_CMD_MOUNT
00085
00086 #define ALP_VOLUMESVCS_CMD_UMOUNT ALP_CLASS_VOLUMESVCS + 2
00087
00088
00089
00090 #define ALP_VOLUMESVCS_CMD_FSINFO ALP_CLASS_VOLUMESVCS + 3
00091
00092
00093
00094
00095
00096
00097
00098 #define ALP_VOLUMESVCS_CMD_MAKEFS ALP_CLASS_VOLUMESVCS + 4
00099
00100
00101
00102
00103
00104 #define ALP_VOLUMESVCS_CMD_BIND ALP_CLASS_VOLUMESVCS + 5
00105
00106
00107
00108
00109 #define ALP_VOLUMESVCS_CMD_FSTYPES ALP_CLASS_VOLUMESVCS + 6
00110
00111
00112
00113
00114
00115
00116 #define ALP_VOLUMESVCS_CMD_RENAME ALP_CLASS_VOLUMESVCS + 7
00117
00118
00119
00120
00121 #define ALP_VOLUMESVCS_USER_CMD_MAX ALP_VOLUMESVCS_CMD_RENAME
00122
00123 #define ALP_VOLUMESVCS_UDEV_ADD ALP_CLASS_VOLUMESVCS + 20
00124
00125
00126 #define ALP_VOLUMESVCS_UDEV_CMD_MIN ALP_VOLUMESVCS_UDEV_ADD
00127
00128
00129
00130 #define ALP_VOLUMESVCS_UDEV_REMOVE ALP_CLASS_VOLUMESVCS + 21
00131 #define ALP_VOLUMESVCS_CTRL_EXIT ALP_CLASS_VOLUMESVCS + 22
00132 #define ALP_VOLUMESVCS_UDEV_CMD_MAX ALP_VOLUMESVCS_CTRL_EXIT
00133
00134
00135
00136 #define ALP_VOLUMESVCS_FLAGS_NOTIFY_PENDING 0x80000000
00137 #define ALP_VOLUMESVCS_FLAGS_NONOTIFY 0x40000000
00138 #define ALP_VOLUMESVCS_FLAGS_HIDE 0x20000000
00139 #define ALP_VOLUMESVCS_FLAGS_QUIET_KIDS 0x10000000
00140 #define ALP_VOLUMESVCS_FLAGS_PRIVATE_MASK 0xFFFF0000
00141
00142 #define PACKSTART(as,msg,cmd,error) {if ((as=alp_ipc_message_pack_start(msg,cmd)) != ALP_STATUS_OK) goto error;}
00143 #define PACKRSPSTART(as,msg,cmd,rqst_msg,error) {if ((as=alp_ipc_message_response_pack_start(msg,cmd,rqst_msg)) != ALP_STATUS_OK) goto error;}
00144 #define PACKEND(as,msg,error) {if ((as=alp_ipc_message_pack_end(msg)) != ALP_STATUS_OK) goto error;}
00145 #define UNPACKSTART(as,msg,error) {if ((as=alp_ipc_message_unpack_start(msg)) != ALP_STATUS_OK) goto error;}
00146 #define UNPACKEND(as,msg,error) {if ((as=alp_ipc_message_unpack_end(msg)) != ALP_STATUS_OK) goto error;}
00147 #define PACKU32(as,msg,val,error) {if ((as=alp_ipc_message_pack_uint32(msg, val)) != ALP_STATUS_OK) goto error;}
00148 #define UNPACKU32(as,msg,val,error) {if ((as=alp_ipc_message_unpack_uint32(msg, val)) != ALP_STATUS_OK) goto error;}
00149 #define PACKSTR(as,msg,val,error) {if ((as=alp_ipc_message_pack_string(msg, val)) != ALP_STATUS_OK) goto error;}
00150 #define UNPACKSTR(as,msg,val,error) {if ((as=alp_ipc_message_unpack_string(msg, val)) != ALP_STATUS_OK) goto error;}
00151 #define PACKBYTES(as,msg,val,len,error) {if ((as=alp_ipc_message_pack_byte_array(msg, val, len)) != ALP_STATUS_OK) goto error;}
00152 #define UNPACKBYTES(as,msg,val,len,error) {if ((as=alp_ipc_message_unpack_byte_array(msg, val, len)) != ALP_STATUS_OK) goto error;}
00153
00154 #endif