65 const size_t packetlen = _packetlen ? _packetlen : 1024;
66 const size_t wantpackets = (initialslack + (packetlen - 1)) / packetlen;
72 for (
i = 0;
i < wantpackets;
i++) {
99 const size_t packet_size = queue ? queue->
packet_size : 1;
100 const size_t slackpackets = (slack + (packet_size-1)) / packet_size;
109 packet = queue->
head;
115 packet = queue->
pool;
122 queue->
pool = packet;
125 for (
i = 0; packet && (
i < slackpackets);
i++) {
127 packet = packet->
next;
146 packet = queue->
pool;
147 if (packet !=
NULL) {
153 if (packet ==
NULL) {
164 queue->
head = packet;
168 queue->
tail = packet;
178 const size_t packet_size = queue ? queue->
packet_size : 0;
188 orighead = queue->
head;
189 origtail = queue->
tail;
190 origlen = origtail ? origtail->
datalen : 0;
195 if (!packet || (packet->
datalen >= packet_size)) {
201 packet = queue->
head;
203 packet = origtail->
next;
207 queue->
head = orighead;
208 queue->
tail = origtail;
239 for (packet = queue->
head;
len && packet; packet = packet->
next) {
249 return (
size_t) (
ptr -
buf);
264 while ((
len > 0) && ((packet = queue->
head) !=
NULL)) {
279 queue->
pool = packet;
289 return (
size_t) (
ptr -
buf);
306 }
else if (
len == 0) {
314 packet = queue->
head;
#define SDL_assert(condition)
SDL_DataQueue * SDL_NewDataQueue(const size_t _packetlen, const size_t initialslack)
size_t SDL_CountDataQueue(SDL_DataQueue *queue)
void SDL_ClearDataQueue(SDL_DataQueue *queue, const size_t slack)
static SDL_DataQueuePacket * AllocateDataQueuePacket(SDL_DataQueue *queue)
size_t SDL_PeekIntoDataQueue(SDL_DataQueue *queue, void *_buf, const size_t _len)
int SDL_WriteToDataQueue(SDL_DataQueue *queue, const void *_data, const size_t _len)
size_t SDL_ReadFromDataQueue(SDL_DataQueue *queue, void *_buf, const size_t _len)
static void SDL_FreeDataQueueList(SDL_DataQueuePacket *packet)
void * SDL_ReserveSpaceInDataQueue(SDL_DataQueue *queue, const size_t len)
void SDL_FreeDataQueue(SDL_DataQueue *queue)
#define SDL_OutOfMemory()
#define SDL_InvalidParamError(param)
#define SDL_VARIABLE_LENGTH_ARRAY
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF ptr
SDL_DataQueuePacket * pool
SDL_DataQueuePacket * tail
SDL_DataQueuePacket * head
struct SDL_DataQueuePacket * next
Uint8 data[SDL_VARIABLE_LENGTH_ARRAY]