90 #include "contiki-lib.h"
91 #include "contiki-net.h"
113 struct pt pt, psockpt;
116 const uint8_t *sendptr;
125 struct psock_buf buf;
127 unsigned int bufsize;
132 void psock_init(
struct psock *
psock, uint8_t *buffer,
unsigned int buffersize);
150 #define PSOCK_INIT(psock, buffer, buffersize) \
151 psock_init(psock, buffer, buffersize)
164 #define PSOCK_BEGIN(psock) PT_BEGIN(&((psock)->pt))
184 #define PSOCK_SEND(psock, data, datalen) \
185 PT_WAIT_THREAD(&((psock)->pt), psock_send(psock, data, datalen))
197 #define PSOCK_SEND_STR(psock, str) \
198 PT_WAIT_THREAD(&((psock)->pt), psock_send(psock, (uint8_t *)str, strlen(str)))
201 unsigned short (*f)(
void *),
void *arg));
225 #define PSOCK_GENERATOR_SEND(psock, generator, arg) \
226 PT_WAIT_THREAD(&((psock)->pt), \
227 psock_generator_send(psock, generator, arg))
241 #define PSOCK_CLOSE(psock) uip_close()
243 PT_THREAD(psock_readbuf_len(
struct psock *psock, uint16_t len));
256 #define PSOCK_READBUF(psock) \
257 PT_WAIT_THREAD(&((psock)->pt), psock_readbuf_len(psock, 1))
273 #define PSOCK_READBUF_LEN(psock, len) \
274 PT_WAIT_THREAD(&((psock)->pt), psock_readbuf_len(psock, len))
276 PT_THREAD(psock_readto(
struct psock *psock,
unsigned char c));
291 #define PSOCK_READTO(psock, c) \
292 PT_WAIT_THREAD(&((psock)->pt), psock_readto(psock, c))
304 #define PSOCK_DATALEN(psock) psock_datalen(psock)
306 uint16_t psock_datalen(
struct psock *psock);
320 #define PSOCK_EXIT(psock) PT_EXIT(&((psock)->pt))
331 #define PSOCK_CLOSE_EXIT(psock) \
333 PSOCK_CLOSE(psock); \
348 #define PSOCK_END(psock) PT_END(&((psock)->pt))
350 char psock_newdata(
struct psock *s);
362 #define PSOCK_NEWDATA(psock) psock_newdata(psock)
395 #define PSOCK_WAIT_UNTIL(psock, condition) \
396 PT_WAIT_UNTIL(&((psock)->pt), (condition));
398 #define PSOCK_WAIT_THREAD(psock, condition) \
399 PT_WAIT_THREAD(&((psock)->pt), (condition))
#define PT_THREAD(name_args)
Declaration of a protothread.
The representation of a protosocket.