Go to the source code of this file.
Defines | |
| #define | DO_PACKET_NUMBERING 0 |
| #define | set_socket_flag(s, f) |
| #define | reset_socket_flag(s, f) |
Functions | |
| static int | __is_valid_packet (dsi_socket_t *socket, dsi_packet_t *packet) |
| Check if packet points to a valid packet descriptor of socket. | |
| static int | __get_packet_index (dsi_socket_t *socket, dsi_packet_t *packet) |
| Calculate packet index. | |
| static int | __send_release_notification (dsi_socket_t *socket, dsi_packet_t *packet) |
| Send release packet notification to send component. | |
| static int | __get_sg_elem (dsi_socket_t *socket, int *sg_elem) |
| Find unused scatter gather list element. | |
| static int | __get_send_packet (dsi_socket_t *socket, int *packet) |
| Try to lock next send packet in packet ring list. | |
| static void | __map_receive_data (dsi_socket_t *socket, int packet_idx) |
| Map packet data. | |
| static void | __copy_receive_data (dsi_socket_t *socket, int packet_idx) |
| Copy packet data. | |
| static int | __get_receive_packet (dsi_socket_t *socket, int *packet) |
| Try to lock next receive packet in packet ring list. | |
| static int | __commit_send_packet (dsi_socket_t *socket, dsi_packet_t *packet) |
| Commit send packet. | |
| static int | __commit_receive_packet (dsi_socket_t *socket, dsi_packet_t *packet) |
| Commit (release) received packet. | |
| int | dsi_packet_get (dsi_socket_t *socket, dsi_packet_t **packet) |
| Request next send/receive packet. | |
| int | dsi_packet_get_abort (dsi_socket_t *socket) |
| Abort an ongoing packet_get() in the work-thread. | |
| int | dsi_packet_get_nr (dsi_socket_t *socket, unsigned nr, dsi_packet_t **packet) |
| Wait for specific packet. | |
| int | dsi_packet_commit (dsi_socket_t *socket, dsi_packet_t *packet) |
| Commit send / release receive packet. | |
| int | dsi_packet_add_data (dsi_socket_t *socket, dsi_packet_t *packet, void *addr, l4_size_t size, l4_uint32_t flags) |
| Add data area to packet's scatter gather list. | |
| int | dsi_packet_get_data (dsi_socket_t *socket, dsi_packet_t *packet, void **addr, l4_size_t *size) |
| Get next data area from packet. | |
| int | dsi_packet_set_no (dsi_socket_t *socket, dsi_packet_t *packet, l4_uint32_t no) |
| Set packet number. | |
| int | dsi_packet_get_no (dsi_socket_t *socket, dsi_packet_t *packet, l4_uint32_t *no) |
| Get packet number. | |
DSI packet handling.
Definition in file packet.c.
| #define reset_socket_flag | ( | s, | |||
| f | ) |
| #define set_socket_flag | ( | s, | |||
| f | ) |
| static void __copy_receive_data | ( | dsi_socket_t * | socket, | |
| int | packet_idx | |||
| ) | [inline, static] |
Copy packet data.
| socket | Socket descriptor | |
| packet_idx | Packet index |
Definition at line 350 of file packet.c.
References dsi_socket::data_area, dsi_socket::data_size, dsi_socket::remote_socket, and dsi_socket_ref::sync_th.
Referenced by __get_receive_packet().
| static void __map_receive_data | ( | dsi_socket_t * | socket, | |
| int | packet_idx | |||
| ) | [inline, static] |
Map packet data.
| socket | Socket descriptor | |
| packet_idx | Packet index |
Definition at line 321 of file packet.c.
References dsi_socket::data_area, dsi_socket::data_map_size, dsi_socket::remote_socket, and dsi_socket_ref::sync_th.
Referenced by __get_receive_packet().
1.5.6