Rev 4754 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4754 | Rev 4756 | ||
---|---|---|---|
Line 103... | Line 103... | ||
103 | 103 | ||
104 | /** Returns the packet of dimensions at least as given. |
104 | /** Returns the packet of dimensions at least as given. |
105 | * Tries to reuse free packets first. |
105 | * Tries to reuse free packets first. |
106 | * Creates a new packet aligned to the memory page size if none available. |
106 | * Creates a new packet aligned to the memory page size if none available. |
107 | * Locks the global data during its processing. |
107 | * Locks the global data during its processing. |
108 | * @param addr_len The source and destination addresses maximal length in bytes. Input parameter. |
108 | * @param[in] addr_len The source and destination addresses maximal length in bytes. |
109 | * @param max_prefix The maximal prefix length in bytes. Input parameter. |
109 | * @param[in] max_prefix The maximal prefix length in bytes. |
110 | * @param max_content The maximal content length in bytes. Input parameter. |
110 | * @param[in] max_content The maximal content length in bytes. |
111 | * @param max_suffix The maximal suffix length in bytes. Input parameter. |
111 | * @param[in] max_suffix The maximal suffix length in bytes. |
112 | * @returns The packet of dimensions at least as given. |
112 | * @returns The packet of dimensions at least as given. |
113 | * @returns NULL if there is not enough memory left. |
113 | * @returns NULL if there is not enough memory left. |
114 | */ |
114 | */ |
115 | packet_t packet_get( size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
115 | packet_t packet_get( size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
116 | 116 | ||
117 | /** Releases the packet queue. |
117 | /** Releases the packet queue. |
118 | * @param packet_id The first packet identifier. Input parameter. |
118 | * @param[in] packet_id The first packet identifier. |
119 | * @returns EOK on success. |
119 | * @returns EOK on success. |
120 | * @returns ENOENT if there is no such packet. |
120 | * @returns ENOENT if there is no such packet. |
121 | */ |
121 | */ |
122 | int packet_release_wrapper( packet_id_t packet_id ); |
122 | int packet_release_wrapper( packet_id_t packet_id ); |
123 | 123 | ||
124 | /** Releases the packet and returns it to the appropriate free packet queue. |
124 | /** Releases the packet and returns it to the appropriate free packet queue. |
125 | * Should be used only when the global data are locked. |
125 | * Should be used only when the global data are locked. |
126 | * @param packet The packet to be released. Input parameter. |
126 | * @param[in] packet The packet to be released. |
127 | */ |
127 | */ |
128 | void packet_release( packet_t packet ); |
128 | void packet_release( packet_t packet ); |
129 | 129 | ||
130 | /** Creates a new packet of dimensions at least as given. |
130 | /** Creates a new packet of dimensions at least as given. |
131 | * Should be used only when the global data are locked. |
131 | * Should be used only when the global data are locked. |
132 | * @param length The total length of the packet, including the header, the addresses and the data of the packet. Input parameter. |
132 | * @param[in] length The total length of the packet, including the header, the addresses and the data of the packet. |
133 | * @param addr_len The source and destination addresses maximal length in bytes. Input parameter. |
133 | * @param[in] addr_len The source and destination addresses maximal length in bytes. |
134 | * @param max_prefix The maximal prefix length in bytes. Input parameter. |
134 | * @param[in] max_prefix The maximal prefix length in bytes. |
135 | * @param max_content The maximal content length in bytes. Input parameter. |
135 | * @param[in] max_content The maximal content length in bytes. |
136 | * @param max_suffix The maximal suffix length in bytes. Input parameter. |
136 | * @param[in] max_suffix The maximal suffix length in bytes. |
137 | * @returns The packet of dimensions at least as given. |
137 | * @returns The packet of dimensions at least as given. |
138 | * @returns NULL if there is not enough memory left. |
138 | * @returns NULL if there is not enough memory left. |
139 | */ |
139 | */ |
140 | packet_t packet_create( size_t length, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
140 | packet_t packet_create( size_t length, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
141 | 141 | ||
142 | /** Clears and initializes the packet according to the given dimensions. |
142 | /** Clears and initializes the packet according to the given dimensions. |
143 | * @param packet The packet to be initialized. Input parameter. |
143 | * @param[in] packet The packet to be initialized. |
144 | * @param addr_len The source and destination addresses maximal length in bytes. Input parameter. |
144 | * @param[in] addr_len The source and destination addresses maximal length in bytes. |
145 | * @param max_prefix The maximal prefix length in bytes. Input parameter. |
145 | * @param[in] max_prefix The maximal prefix length in bytes. |
146 | * @param max_content The maximal content length in bytes. Input parameter. |
146 | * @param[in] max_content The maximal content length in bytes. |
147 | * @param max_suffix The maximal suffix length in bytes. Input parameter. |
147 | * @param[in] max_suffix The maximal suffix length in bytes. |
148 | */ |
148 | */ |
149 | void packet_init( packet_t packet, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
149 | void packet_init( packet_t packet, size_t addr_len, size_t max_prefix, size_t max_content, size_t max_suffix ); |
150 | 150 | ||
151 | /** Shares the packet memory block. |
151 | /** Shares the packet memory block. |
152 | * @param packet The packet to be shared. |
152 | * @param[in] packet The packet to be shared. |
153 | * @returns EOK on success. |
153 | * @returns EOK on success. |
154 | * @returns EINVAL if the packet is not valid. |
154 | * @returns EINVAL if the packet is not valid. |
155 | * @returns EINVAL if the calling module does not accept the memory. |
155 | * @returns EINVAL if the calling module does not accept the memory. |
156 | * @returns ENOMEM if the desired and actual sizes differ. |
156 | * @returns ENOMEM if the desired and actual sizes differ. |
157 | * @returns Other error codes as defined for the ipc_share_in_finalize() function. |
157 | * @returns Other error codes as defined for the ipc_share_in_finalize() function. |