Changeset 28ed0d9 in mainline for uspace/srv/bd/vbd/vbd.c
- Timestamp:
- 2015-06-27T19:50:12Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 78d50bd
- Parents:
- 22fb7ab
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/vbd/vbd.c
r22fb7ab r28ed0d9 44 44 #include <task.h> 45 45 46 #include "disk.h" 46 47 #include "types/vbd.h" 47 48 48 49 #define NAME "vbd" 49 50 50 static void vbd_client_conn(ipc_callid_t, ipc_call_t *, void *); 51 52 static int vbd_init(void) 53 { 54 int rc; 55 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_init()"); 56 57 async_set_client_connection(vbd_client_conn); 51 static void vbds_client_conn(ipc_callid_t, ipc_call_t *, void *); 52 53 static int vbds_init(void) 54 { 55 int rc; 56 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_init()"); 57 58 vbds_disks_init(); 59 60 async_set_client_connection(vbds_client_conn); 58 61 59 62 rc = loc_server_register(NAME); … … 73 76 } 74 77 75 static int vbd_disk_add(service_id_t sid) 76 { 77 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_add(%zu)", sid); 78 return EOK; 79 } 80 81 static int vbd_disk_remove(service_id_t sid) 82 { 83 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_remove(%zu)", sid); 84 return EOK; 85 } 86 87 static int vbd_disk_info(service_id_t sid, vbd_disk_info_t *info) 88 { 89 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_info(%zu)", sid); 90 info->ltype = lt_mbr; 91 return EOK; 92 } 93 94 static int vbd_label_create(service_id_t sid, label_type_t ltype) 95 { 96 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_label_create(%zu, %d)", sid, 97 ltype); 98 return EOK; 99 } 100 101 static int vbd_label_delete(service_id_t sid, label_type_t ltype) 102 { 103 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_label_delete(%zu, %d)", sid, 104 ltype); 105 return EOK; 106 } 107 108 static void vbd_disk_add_srv(ipc_callid_t iid, ipc_call_t *icall) 109 { 110 service_id_t disk_sid; 111 int rc; 112 113 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_add_srv()"); 114 115 disk_sid = IPC_GET_ARG1(*icall); 116 rc = vbd_disk_add(disk_sid); 117 async_answer_0(iid, (sysarg_t) rc); 118 } 119 120 static void vbd_disk_remove_srv(ipc_callid_t iid, ipc_call_t *icall) 121 { 122 service_id_t disk_sid; 123 int rc; 124 125 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_remove_srv()"); 126 127 disk_sid = IPC_GET_ARG1(*icall); 128 rc = vbd_disk_remove(disk_sid); 129 async_answer_0(iid, (sysarg_t) rc); 130 } 131 132 static void vbd_disk_info_srv(ipc_callid_t iid, ipc_call_t *icall) 133 { 134 service_id_t disk_sid; 135 vbd_disk_info_t dinfo; 136 int rc; 137 138 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_disk_info_srv()"); 139 140 disk_sid = IPC_GET_ARG1(*icall); 141 rc = vbd_disk_info(disk_sid, &dinfo); 78 79 static void vbds_disk_add_srv(ipc_callid_t iid, ipc_call_t *icall) 80 { 81 service_id_t disk_sid; 82 int rc; 83 84 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_disk_add_srv()"); 85 86 disk_sid = IPC_GET_ARG1(*icall); 87 rc = vbds_disk_add(disk_sid); 88 async_answer_0(iid, (sysarg_t) rc); 89 } 90 91 static void vbds_disk_remove_srv(ipc_callid_t iid, ipc_call_t *icall) 92 { 93 service_id_t disk_sid; 94 int rc; 95 96 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_disk_remove_srv()"); 97 98 disk_sid = IPC_GET_ARG1(*icall); 99 rc = vbds_disk_remove(disk_sid); 100 async_answer_0(iid, (sysarg_t) rc); 101 } 102 103 static void vbds_disk_info_srv(ipc_callid_t iid, ipc_call_t *icall) 104 { 105 service_id_t disk_sid; 106 vbds_disk_info_t dinfo; 107 int rc; 108 109 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_disk_info_srv()"); 110 111 disk_sid = IPC_GET_ARG1(*icall); 112 rc = vbds_disk_info(disk_sid, &dinfo); 142 113 async_answer_1(iid, (sysarg_t)rc, (sysarg_t)dinfo.ltype); 143 114 } 144 115 145 static void vbd _label_create_srv(ipc_callid_t iid, ipc_call_t *icall)116 static void vbds_label_create_srv(ipc_callid_t iid, ipc_call_t *icall) 146 117 { 147 118 service_id_t disk_sid; … … 149 120 int rc; 150 121 151 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd _label_create_srv()");122 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_label_create_srv()"); 152 123 153 124 disk_sid = IPC_GET_ARG1(*icall); 154 125 ltype = IPC_GET_ARG2(*icall); 155 rc = vbd_label_create(disk_sid, ltype); 156 async_answer_0(iid, (sysarg_t) rc); 157 } 158 159 static void vbd_label_delete_srv(ipc_callid_t iid, ipc_call_t *icall) 160 { 161 service_id_t disk_sid; 162 label_type_t ltype; 163 int rc; 164 165 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_label_delete_srv()"); 166 167 disk_sid = IPC_GET_ARG1(*icall); 168 ltype = IPC_GET_ARG2(*icall); 169 rc = vbd_label_delete(disk_sid, ltype); 170 async_answer_0(iid, (sysarg_t) rc); 171 } 172 173 static void vbd_client_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg) 174 { 175 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_client_conn()"); 126 rc = vbds_label_create(disk_sid, ltype); 127 async_answer_0(iid, (sysarg_t) rc); 128 } 129 130 static void vbds_label_delete_srv(ipc_callid_t iid, ipc_call_t *icall) 131 { 132 service_id_t disk_sid; 133 int rc; 134 135 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_label_delete_srv()"); 136 137 disk_sid = IPC_GET_ARG1(*icall); 138 rc = vbds_label_delete(disk_sid); 139 async_answer_0(iid, (sysarg_t) rc); 140 } 141 142 static void vbds_label_get_parts_srv(ipc_callid_t iid, ipc_call_t *icall) 143 { 144 // service_id_t disk_sid; 145 // int rc; 146 147 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_label_get_parts_srv()"); 148 149 // disk_sid = IPC_GET_ARG1(*icall); 150 // rc = vbds_label_delete(disk_sid); 151 // async_answer_0(iid, (sysarg_t) rc); 152 async_answer_0(iid, ENOTSUP); 153 } 154 155 static void vbds_part_get_info_srv(ipc_callid_t iid, ipc_call_t *icall) 156 { 157 vbds_part_id_t part; 158 vbds_part_info_t pinfo; 159 int rc; 160 161 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_part_get_info_srv()"); 162 163 part = IPC_GET_ARG1(*icall); 164 rc = vbds_part_get_info(part, &pinfo); 165 async_answer_0(iid, (sysarg_t)rc); 166 } 167 168 static void vbds_part_create_srv(ipc_callid_t iid, ipc_call_t *icall) 169 { 170 service_id_t disk_sid; 171 vbds_part_id_t part; 172 int rc; 173 174 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_part_create_srv()"); 175 176 disk_sid = IPC_GET_ARG1(*icall); 177 rc = vbds_part_create(disk_sid, &part); 178 async_answer_1(iid, (sysarg_t)rc, (sysarg_t)part); 179 } 180 181 static void vbds_part_delete_srv(ipc_callid_t iid, ipc_call_t *icall) 182 { 183 vbds_part_id_t part; 184 int rc; 185 186 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_part_delete_srv()"); 187 188 part = IPC_GET_ARG1(*icall); 189 rc = vbds_part_delete(part); 190 async_answer_0(iid, (sysarg_t) rc); 191 } 192 193 static void vbds_client_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg) 194 { 195 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_client_conn()"); 176 196 177 197 /* Accept the connection */ … … 191 211 switch (method) { 192 212 case VBD_DISK_ADD: 193 vbd _disk_add_srv(callid, &call);213 vbds_disk_add_srv(callid, &call); 194 214 break; 195 215 case VBD_DISK_REMOVE: 196 vbd _disk_remove_srv(callid, &call);216 vbds_disk_remove_srv(callid, &call); 197 217 break; 198 218 case VBD_DISK_INFO: 199 vbd _disk_info_srv(callid, &call);219 vbds_disk_info_srv(callid, &call); 200 220 break; 201 221 case VBD_LABEL_CREATE: 202 vbd _label_create_srv(callid, &call);222 vbds_label_create_srv(callid, &call); 203 223 break; 204 224 case VBD_LABEL_DELETE: 205 vbd_label_delete_srv(callid, &call); 225 vbds_label_delete_srv(callid, &call); 226 break; 227 case VBD_LABEL_GET_PARTS: 228 vbds_label_get_parts_srv(callid, &call); 229 break; 230 case VBD_PART_GET_INFO: 231 vbds_part_get_info_srv(callid, &call); 232 break; 233 case VBD_PART_CREATE: 234 vbds_part_create_srv(callid, &call); 235 break; 236 case VBD_PART_DELETE: 237 vbds_part_delete_srv(callid, &call); 206 238 break; 207 239 default: … … 222 254 } 223 255 224 rc = vbd _init();256 rc = vbds_init(); 225 257 if (rc != EOK) 226 258 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.