| 1066 | } |
| 1067 | |
| 1068 | cs_error_t cmap_track_delete( |
| 1069 | cmap_handle_t handle, |
| 1070 | cmap_track_handle_t track_handle) |
| 1071 | { |
| 1072 | cs_error_t error; |
| 1073 | struct iovec iov; |
| 1074 | struct cmap_inst *cmap_inst; |
| 1075 | struct cmap_track_inst *cmap_track_inst; |
| 1076 | struct req_lib_cmap_track_delete req_lib_cmap_track_delete; |
| 1077 | struct res_lib_cmap_track_delete res_lib_cmap_track_delete; |
| 1078 | |
| 1079 | error = hdb_error_to_cs(hdb_handle_get (&cmap_handle_t_db, handle, (void *)&cmap_inst)); |
| 1080 | if (error != CS_OK) { |
| 1081 | return (error); |
| 1082 | } |
| 1083 | |
| 1084 | memset(&req_lib_cmap_track_delete, 0, sizeof(req_lib_cmap_track_delete)); |
| 1085 | req_lib_cmap_track_delete.header.size = sizeof(req_lib_cmap_track_delete); |
| 1086 | req_lib_cmap_track_delete.header.id = MESSAGE_REQ_CMAP_TRACK_DELETE; |
| 1087 | req_lib_cmap_track_delete.track_handle = track_handle; |
| 1088 | |
| 1089 | iov.iov_base = (char *)&req_lib_cmap_track_delete; |
| 1090 | iov.iov_len = sizeof(req_lib_cmap_track_delete); |
| 1091 | |
| 1092 | error = qb_to_cs_error(qb_ipcc_sendv_recv( |
| 1093 | cmap_inst->c, |
| 1094 | &iov, |
| 1095 | 1, |
| 1096 | &res_lib_cmap_track_delete, |
| 1097 | sizeof (struct res_lib_cmap_track_delete), CS_IPC_TIMEOUT_MS)); |
| 1098 | |
| 1099 | if (error == CS_OK) { |
| 1100 | error = res_lib_cmap_track_delete.header.error; |
| 1101 | } |
| 1102 | |
| 1103 | if (error == CS_OK) { |
| 1104 | error = hdb_error_to_cs(hdb_handle_get(&cmap_track_handle_t_db, |
| 1105 | res_lib_cmap_track_delete.track_inst_handle, |
| 1106 | (void *)&cmap_track_inst)); |
| 1107 | if (error != CS_OK) { |
| 1108 | goto error_put; |
| 1109 | } |
| 1110 | |
| 1111 | (void)hdb_handle_put(&cmap_track_handle_t_db, res_lib_cmap_track_delete.track_inst_handle); |
| 1112 | (void)hdb_handle_destroy(&cmap_track_handle_t_db, res_lib_cmap_track_delete.track_inst_handle); |
| 1113 | } |
| 1114 | |
| 1115 | error_put: |
| 1116 | (void)hdb_handle_put (&cmap_handle_t_db, handle); |
| 1117 | |
| 1118 | return (error); |
| 1119 | } |
no test coverage detected