90#include "contiki-lib.h"
91#include "contiki-net.h"
113 const uint8_t *sendptr;
118 struct psock_buf buf;
120 unsigned int bufsize;
125 struct pt pt, psockpt;
131void psock_init(
struct psock *
psock, uint8_t *buffer,
unsigned int buffersize);
149#define PSOCK_INIT(psock, buffer, buffersize) \
150 psock_init(psock, buffer, buffersize)
163#define PSOCK_BEGIN(psock) PT_BEGIN(&((psock)->pt))
183#define PSOCK_SEND(psock, data, datalen) \
184 PT_WAIT_THREAD(&((psock)->pt), psock_send(psock, data, datalen))
196#define PSOCK_SEND_STR(psock, str) \
197 PT_WAIT_THREAD(&((psock)->pt), psock_send(psock, (uint8_t *)str, strlen(str)))
200 unsigned short (*f)(
void *),
void *arg));
224#define PSOCK_GENERATOR_SEND(psock, generator, arg) \
225 PT_WAIT_THREAD(&((psock)->pt), \
226 psock_generator_send(psock, generator, arg))
240#define PSOCK_CLOSE(psock) uip_close()
255#define PSOCK_READBUF(psock) \
256 PT_WAIT_THREAD(&((psock)->pt), psock_readbuf_len(psock, 1))
272#define PSOCK_READBUF_LEN(psock, len) \
273 PT_WAIT_THREAD(&((psock)->pt), psock_readbuf_len(psock, len))
290#define PSOCK_READTO(psock, c) \
291 PT_WAIT_THREAD(&((psock)->pt), psock_readto(psock, c))
303#define PSOCK_DATALEN(psock) psock_datalen(psock)
319#define PSOCK_EXIT(psock) PT_EXIT(&((psock)->pt))
330#define PSOCK_CLOSE_EXIT(psock) \
332 PSOCK_CLOSE(psock); \
347#define PSOCK_END(psock) PT_END(&((psock)->pt))
349char psock_newdata(
struct psock *s);
361#define PSOCK_NEWDATA(psock) psock_newdata(psock)
394#define PSOCK_WAIT_UNTIL(psock, condition) \
395 PT_WAIT_UNTIL(&((psock)->pt), (condition));
397#define PSOCK_WAIT_THREAD(psock, condition) \
398 PT_WAIT_THREAD(&((psock)->pt), (condition))
#define PT_THREAD(name_args)
Declaration of a protothread.
The representation of a protosocket.