diff options
author | Eamon Walsh <ewalsh@tycho.nsa.gov> | 2006-08-25 18:17:01 -0400 |
---|---|---|
committer | Eamon Walsh <ewalsh@moss-uranus.epoch.ncsc.mil> | 2006-08-25 18:17:01 -0400 |
commit | 13c6713c82763a85c725c998b37ad02156d803ba (patch) | |
tree | c8a3c6c08607acda2d6178d3d8b3ce50b680e277 /Xext | |
parent | 52ba722e4c89c052609b4fc62e965d92778aa2dd (diff) |
Add four new XACE hooks: auditing, key event notification, window init
Diffstat (limited to 'Xext')
-rw-r--r-- | Xext/xace.c | 33 | ||||
-rw-r--r-- | Xext/xace.h | 6 | ||||
-rw-r--r-- | Xext/xacestr.h | 20 |
3 files changed, 58 insertions, 1 deletions
diff --git a/Xext/xace.c b/Xext/xace.c index 29853b38b..44aaa421d 100644 --- a/Xext/xace.c +++ b/Xext/xace.c @@ -169,6 +169,39 @@ int XaceHook(int hook, ...) calldata = &rec; break; } + case XACE_KEY_AVAIL: { + XaceKeyAvailRec rec = { + va_arg(ap, xEventPtr), + va_arg(ap, DeviceIntPtr), + va_arg(ap, int) + }; + calldata = &rec; + break; + } + case XACE_WINDOW_INIT: { + XaceWindowRec rec = { + va_arg(ap, ClientPtr), + va_arg(ap, WindowPtr) + }; + calldata = &rec; + break; + } + case XACE_AUDIT_BEGIN: { + XaceAuditRec rec = { + va_arg(ap, ClientPtr), + 0 + }; + calldata = &rec; + break; + } + case XACE_AUDIT_END: { + XaceAuditRec rec = { + va_arg(ap, ClientPtr), + va_arg(ap, int) + }; + calldata = &rec; + break; + } default: { va_end(ap); return 0; /* unimplemented hook number */ diff --git a/Xext/xace.h b/Xext/xace.h index 68f6dd442..6cb4b4f5d 100644 --- a/Xext/xace.h +++ b/Xext/xace.h @@ -46,7 +46,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define XACE_SITE_POLICY 10 #define XACE_DECLARE_EXT_SECURE 11 #define XACE_AUTH_AVAIL 12 -#define XACE_NUM_HOOKS 13 +#define XACE_KEY_AVAIL 13 +#define XACE_WINDOW_INIT 14 +#define XACE_AUDIT_BEGIN 15 +#define XACE_AUDIT_END 16 +#define XACE_NUM_HOOKS 17 extern CallbackListPtr XaceHooks[XACE_NUM_HOOKS]; diff --git a/Xext/xacestr.h b/Xext/xacestr.h index a01bf4a2a..7114d066b 100644 --- a/Xext/xacestr.h +++ b/Xext/xacestr.h @@ -112,4 +112,24 @@ typedef struct { XID authId; } XaceAuthAvailRec; +/* XACE_KEY_AVAIL */ +typedef struct { + xEventPtr event; + DeviceIntPtr keybd; + int count; +} XaceKeyAvailRec; + +/* XACE_WINDOW_INIT */ +typedef struct { + ClientPtr client; + WindowPtr pWin; +} XaceWindowRec; + +/* XACE_AUDIT_BEGIN */ +/* XACE_AUDIT_END */ +typedef struct { + ClientPtr client; + int requestResult; +} XaceAuditRec; + #endif /* _XACESTR_H */ |