diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-11-19 19:49:49 -0500 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-11-19 19:49:49 -0500 |
| commit | cdac0068df6b97c30aec8ab6314465bbf80c3fa7 (patch) | |
| tree | 5f9feeeaaacd632f674e0853638f148ee3597e17 /include | |
| parent | d5e648be51bbcab442199c64fadd35c935c81620 (diff) | |
ICS/FDSO: new FDSO ABI and ICS ABI
update system call interface
Diffstat (limited to 'include')
| -rw-r--r-- | include/litmus.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/litmus.h b/include/litmus.h index 2aac46f..3a03a18 100644 --- a/include/litmus.h +++ b/include/litmus.h | |||
| @@ -81,9 +81,14 @@ typedef enum { | |||
| 81 | SRP_SEM = 1, | 81 | SRP_SEM = 1, |
| 82 | ICS_ID = 2, | 82 | ICS_ID = 2, |
| 83 | } obj_type_t; | 83 | } obj_type_t; |
| 84 | int od_open(int fd, obj_type_t type, int obj_id); | 84 | int od_openx(int fd, obj_type_t type, int obj_id, void* config); |
| 85 | int od_close(int od); | 85 | int od_close(int od); |
| 86 | 86 | ||
| 87 | static inline int od_open(int fd, obj_type_t type, int obj_id) | ||
| 88 | { | ||
| 89 | return od_openx(fd, type, obj_id, 0); | ||
| 90 | } | ||
| 91 | |||
| 87 | /* FMLP support */ | 92 | /* FMLP support */ |
| 88 | int pi_down(int od); | 93 | int pi_down(int od); |
| 89 | int pi_up(int od); | 94 | int pi_up(int od); |
| @@ -97,6 +102,15 @@ int wait_for_job_release(unsigned int job_no); | |||
| 97 | int sleep_next_period(void); | 102 | int sleep_next_period(void); |
| 98 | 103 | ||
| 99 | 104 | ||
| 105 | /* interruptible critical section support */ | ||
| 106 | #define MAX_ICS_NESTING 16 | ||
| 107 | #define ICS_END_OF_STACK (-2) | ||
| 108 | |||
| 109 | /* ICS control block */ | ||
| 110 | struct ics_cb { | ||
| 111 | void* rollback_addr; | ||
| 112 | int ics_stack[MAX_ICS_NESTING]; | ||
| 113 | }; | ||
| 100 | 114 | ||
| 101 | 115 | ||
| 102 | 116 | ||
