Changeset 357b5f5 in mainline for uspace/lib/packet/generic/packet_server.c
- Timestamp:
- 2011-01-23T20:09:13Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fdb9982c
- Parents:
- cead2aa (diff), 7e36c8d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/packet/generic/packet_server.c
rcead2aa r357b5f5 135 135 /** Creates a new packet of dimensions at least as given. 136 136 * 137 * Should be used only when the global data are locked.138 *139 137 * @param[in] length The total length of the packet, including the header, 140 138 * the addresses and the data of the packet. … … 153 151 packet_t *packet; 154 152 int rc; 153 154 assert(fibril_mutex_is_locked(&ps_globals.lock)); 155 155 156 156 // already locked … … 233 233 /** Release the packet and returns it to the appropriate free packet queue. 234 234 * 235 * Should be used only when the global data are locked.236 *237 235 * @param[in] packet The packet to be released. 238 236 * … … 242 240 int index; 243 241 int result; 242 243 assert(fibril_mutex_is_locked(&ps_globals.lock)); 244 244 245 245 for (index = 0; (index < FREE_QUEUES_COUNT - 1) && … … 322 322 int 323 323 packet_server_message(ipc_callid_t callid, ipc_call_t *call, ipc_call_t *answer, 324 int *answer_count)324 size_t *answer_count) 325 325 { 326 326 packet_t *packet; 327 327 328 328 *answer_count = 0; 329 switch (IPC_GET_ METHOD(*call)) {329 switch (IPC_GET_IMETHOD(*call)) { 330 330 case IPC_M_PHONE_HUNGUP: 331 331 return EOK; … … 333 333 case NET_PACKET_CREATE_1: 334 334 packet = packet_get_local(DEFAULT_ADDR_LEN, DEFAULT_PREFIX, 335 IPC_GET_CONTENT( call), DEFAULT_SUFFIX);335 IPC_GET_CONTENT(*call), DEFAULT_SUFFIX); 336 336 if (!packet) 337 337 return ENOMEM; 338 338 *answer_count = 2; 339 IPC_SET_ARG1(*answer, ( ipcarg_t) packet->packet_id);340 IPC_SET_ARG2(*answer, ( ipcarg_t) packet->length);339 IPC_SET_ARG1(*answer, (sysarg_t) packet->packet_id); 340 IPC_SET_ARG2(*answer, (sysarg_t) packet->length); 341 341 return EOK; 342 342 343 343 case NET_PACKET_CREATE_4: 344 344 packet = packet_get_local( 345 ((DEFAULT_ADDR_LEN < IPC_GET_ADDR_LEN( call)) ?346 IPC_GET_ADDR_LEN( call) : DEFAULT_ADDR_LEN),347 DEFAULT_PREFIX + IPC_GET_PREFIX( call),348 IPC_GET_CONTENT( call),349 DEFAULT_SUFFIX + IPC_GET_SUFFIX( call));345 ((DEFAULT_ADDR_LEN < IPC_GET_ADDR_LEN(*call)) ? 346 IPC_GET_ADDR_LEN(*call) : DEFAULT_ADDR_LEN), 347 DEFAULT_PREFIX + IPC_GET_PREFIX(*call), 348 IPC_GET_CONTENT(*call), 349 DEFAULT_SUFFIX + IPC_GET_SUFFIX(*call)); 350 350 if (!packet) 351 351 return ENOMEM; 352 352 *answer_count = 2; 353 IPC_SET_ARG1(*answer, ( ipcarg_t) packet->packet_id);354 IPC_SET_ARG2(*answer, ( ipcarg_t) packet->length);353 IPC_SET_ARG1(*answer, (sysarg_t) packet->packet_id); 354 IPC_SET_ARG2(*answer, (sysarg_t) packet->length); 355 355 return EOK; 356 356 357 357 case NET_PACKET_GET: 358 packet = pm_find(IPC_GET_ID( call));358 packet = pm_find(IPC_GET_ID(*call)); 359 359 if (!packet_is_valid(packet)) 360 360 return ENOENT; … … 362 362 363 363 case NET_PACKET_GET_SIZE: 364 packet = pm_find(IPC_GET_ID( call));364 packet = pm_find(IPC_GET_ID(*call)); 365 365 if (!packet_is_valid(packet)) 366 366 return ENOENT; 367 IPC_SET_ARG1(*answer, ( ipcarg_t) packet->length);367 IPC_SET_ARG1(*answer, (sysarg_t) packet->length); 368 368 *answer_count = 1; 369 369 return EOK; 370 370 371 371 case NET_PACKET_RELEASE: 372 return packet_release_wrapper(IPC_GET_ID( call));372 return packet_release_wrapper(IPC_GET_ID(*call)); 373 373 } 374 374
Note:
See TracChangeset
for help on using the changeset viewer.