Rev 2071 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2071 | Rev 2106 | ||
|---|---|---|---|
| Line 33... | Line 33... | ||
| 33 | */ |
33 | */ |
| 34 | 34 | ||
| 35 | #ifndef KERN_SYNCH_H_ |
35 | #ifndef KERN_SYNCH_H_ |
| 36 | #define KERN_SYNCH_H_ |
36 | #define KERN_SYNCH_H_ |
| 37 | 37 | ||
| 38 | #define SYNCH_NO_TIMEOUT 0 /**< Request with no timeout. */ |
38 | /** Request with no timeout. */ |
| - | 39 | #define SYNCH_NO_TIMEOUT 0 |
|
| 39 | 40 | ||
| - | 41 | /** No flags specified. */ |
|
| 40 | #define SYNCH_FLAGS_NONE 0 /**< No flags specified. */ |
42 | #define SYNCH_FLAGS_NONE 0 |
| - | 43 | /** Non-blocking operation request. */ |
|
| 41 | #define SYNCH_FLAGS_NON_BLOCKING (1<<0) /**< Non-blocking operation request. */ |
44 | #define SYNCH_FLAGS_NON_BLOCKING (1 << 0) |
| - | 45 | /** Interruptible operation. */ |
|
| 42 | #define SYNCH_FLAGS_INTERRUPTIBLE (1<<1) /**< Interruptible operation. */ |
46 | #define SYNCH_FLAGS_INTERRUPTIBLE (1 << 1) |
| 43 | 47 | ||
| 44 | #define ESYNCH_WOULD_BLOCK 1 /**< Could not satisfy the request without going to sleep. */ |
48 | /** Could not satisfy the request without going to sleep. */ |
| - | 49 | #define ESYNCH_WOULD_BLOCK 1 |
|
| - | 50 | /** Timeout occurred. */ |
|
| 45 | #define ESYNCH_TIMEOUT 2 /**< Timeout occurred. */ |
51 | #define ESYNCH_TIMEOUT 2 |
| 46 | #define ESYNCH_INTERRUPTED 4 /**< Sleep was interrupted. */ |
52 | /** Sleep was interrupted. */ |
| - | 53 | #define ESYNCH_INTERRUPTED 4 |
|
| 47 | #define ESYNCH_OK_ATOMIC 8 /**< Operation succeeded without sleeping. */ |
54 | /** Operation succeeded without sleeping. */ |
| - | 55 | #define ESYNCH_OK_ATOMIC 8 |
|
| 48 | #define ESYNCH_OK_BLOCKED 16 /**< Operation succeeded and did sleep. */ |
56 | /** Operation succeeded and did sleep. */ |
| - | 57 | #define ESYNCH_OK_BLOCKED 16 |
|
| 49 | 58 | ||
| - | 59 | #define SYNCH_FAILED(rc) \ |
|
| 50 | #define SYNCH_FAILED(rc) ((rc) & (ESYNCH_WOULD_BLOCK | ESYNCH_TIMEOUT | ESYNCH_INTERRUPTED)) |
60 | ((rc) & (ESYNCH_WOULD_BLOCK | ESYNCH_TIMEOUT | ESYNCH_INTERRUPTED)) |
| - | 61 | #define SYNCH_OK(rc) \ |
|
| 51 | #define SYNCH_OK(rc) ((rc) & (ESYNCH_OK_ATOMIC | ESYNCH_OK_BLOCKED)) |
62 | ((rc) & (ESYNCH_OK_ATOMIC | ESYNCH_OK_BLOCKED)) |
| 52 | 63 | ||
| 53 | #endif |
64 | #endif |
| 54 | 65 | ||
| 55 | /** @} |
66 | /** @} |
| 56 | */ |
67 | */ |