]> Joshua Wise's Git repositories - netwatch.git/blob - include/smi.h
5cc7a44da85163ad659b62d296ccf88908e9ae88
[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_PWRBTN,
25         SMI_EVENT_MAX
26 } smi_event_t;
27
28
29 typedef void (*smi_handler_t)(smi_event_t);
30
31 #define SMI_HANDLER_NONE        ((smi_handler_t)0)
32 #define SMI_HANDLER_IGNORE      ((smi_handler_t)-1)
33
34 extern int smi_register_handler(smi_event_t ev, smi_handler_t hnd);
35 extern int smi_enable_event(smi_event_t ev);
36 extern int smi_disable_event(smi_event_t ev);
37
38 #endif
This page took 0.022426 seconds and 4 git commands to generate.