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)) 166 PT_THREAD(psock_send(
struct psock *psock,
const uint8_t *buf,
unsigned int len));
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))) 200 PT_THREAD(psock_generator_send(
struct psock *psock,
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)) The representation of a protosocket.
#define PT_THREAD(name_args)
Declaration of a protothread.