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 | ||