Rev 2071 | Go to most recent revision | 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 | */ |