42 #if (CH_CFG_USE_PIPES == TRUE) || defined(__DOXYGEN__) 51 #if (CH_CFG_USE_MUTEXES == TRUE) || defined(__DOXYGEN__) 52 #define P_LOCK(p) chMtxLock(&(p)->mtx) 53 #define P_UNLOCK(p) chMtxUnlock(&(p)->mtx) 55 #define P_LOCK(p) (void) chSemWait(&(p)->sem) 56 #define P_UNLOCK(p) chSemSignal(&(p)->sem) 91 chDbgCheck((pp != NULL) && (buf != NULL) && (n > (
size_t)0));
threads_queue_t qw
Queued writers.
bool reset
True if in reset state.
#define chSysLock()
Enters the kernel lock state.
uint64_t sysinterval_t
Type of time interval.
uint8_t * rdptr
Read pointer.
void chThdDequeueAllI(threads_queue_t *tqp, msg_t msg)
Dequeues and wakes up all threads from the threads queue object.
size_t chPipeReadTimeout(pipe_t *pp, uint8_t *bp, size_t n, sysinterval_t timeout)
Pipe read with timeout.
uint8_t * top
Pointer to the location after the buffer.
size_t cnt
Messages in queue.
Structure representing a pipe object.
void chSchRescheduleS(void)
Performs a reschedule if a higher priority thread is runnable.
#define chSysUnlock()
Leaves the kernel lock state.
#define chDbgCheck(c)
Function parameters check.
size_t chPipeWriteTimeout(pipe_t *pp, const uint8_t *bp, size_t n, sysinterval_t timeout)
Pipe write with timeout.
uint8_t * buffer
Pointer to the pipe buffer.
uint8_t * wrptr
Write pointer.
void chPipeReset(pipe_t *pp)
Resets a pipe_t object.
threads_queue_t qr
Queued readers.
void chPipeObjectInit(pipe_t *pp, uint8_t *buf, size_t n)
Initializes a mailbox_t object.
#define chThdQueueObjectInit(tqp)
Initializes a threads queue object.
#define MSG_RESET
Wakeup caused by a reset condition.