]> Joshua Wise's Git repositories - netwatch.git/blob - include/smi.h
a5dad922e1ba47a284619641c9e6aa0a21f59e43
[netwatch.git] / include / smi.h
1 /* smi.h
2  * Prototypes for generic SMI handling routines
3  * NetWatch system management mode administration console
4  *
5  * Copyright (c) 2008 Jacob Potter and Joshua Wise.  All rights reserved.
6  * This program is free software; you can redistribute and/or modify it under
7  * the terms found in the file LICENSE in the root of this source tree.
8  *
9  */
10
11 #ifndef SMI_H
12 #define SMI_H
13
14 extern void smi_disable();      /* akin to cli / sti */
15 extern void smi_enable();
16
17 extern void smi_poll();
18 extern unsigned long smi_status();      /* Architecturally defined; for debugging only. */
19
20 typedef enum {
21         SMI_EVENT_FAST_TIMER = 0,
22         SMI_EVENT_DEVTRAP_KBC,
23         SMI_EVENT_GBL_RLS,
24         SMI_EVENT_MAX
25 } smi_event_t;
26
27
28 typedef void (*smi_handler_t)(smi_event_t);
29
30 #define SMI_HANDLER_NONE        ((smi_handler_t)0)
31 #define SMI_HANDLER_IGNORE      ((smi_handler_t)-1)
32
33 extern int smi_register_handler(smi_event_t ev, smi_handler_t hnd);
34 extern int smi_enable_event(smi_event_t ev);
35 extern int smi_disable_event(smi_event_t ev);
36
37 #endif
This page took 0.016318 seconds and 2 git commands to generate.