Fennix  1.0.0
Full Documentation
driver.h
Go to the documentation of this file.
1 /*
2  This file is part of Fennix Kernel.
3 
4  Fennix Kernel is free software: you can redistribute it and/or
5  modify it under the terms of the GNU General Public License as
6  published by the Free Software Foundation, either version 3 of
7  the License, or (at your option) any later version.
8 
9  Fennix Kernel is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef __FENNIX_API_DRIVER_FUNCTIONS_H__
19 #define __FENNIX_API_DRIVER_FUNCTIONS_H__
20 
21 #include <types.h>
22 
23 typedef struct
24 {
25  /* PCIDevice */ void *Device;
26  /* __PCIArray */ void *Next;
27 } __PCIArray;
28 
29 /* ========================================== */
30 
31 #define PCI_END 0x0000
32 #define KEY_NULL 0x00
33 
34 typedef enum
35 {
38 
41 
44 
47 } AudioIoctl;
48 
49 typedef enum
50 {
52 } NetIoctl;
53 
54 typedef enum
55 {
56  MAP_PRESENT = 1 << 0,
57  MAP_WRITE = 1 << 1,
58  MAP_USER = 1 << 2,
61 } PageMapFlags;
62 
64 {
65  const char *Name;
66  const char *Description;
67  const char *Author;
69  {
71  int Major, Minor, Patch;
73  const char *License;
74 };
75 
76 #endif // !__FENNIX_API_DRIVER_FUNCTIONS_H__
void * Next
Definition: driver.h:26
const char * Author
Definition: driver.h:67
AudioIoctl
Definition: driver.h:35
@ IOCTL_AUDIO_GET_CHANNELS
Definition: driver.h:45
@ IOCTL_AUDIO_SET_VOLUME
Definition: driver.h:37
@ IOCTL_AUDIO_GET_VOLUME
Definition: driver.h:36
@ IOCTL_AUDIO_SET_MUTE
Definition: driver.h:40
@ IOCTL_AUDIO_SET_CHANNELS
Definition: driver.h:46
@ IOCTL_AUDIO_GET_MUTE
Definition: driver.h:39
@ IOCTL_AUDIO_SET_SAMPLE_RATE
Definition: driver.h:43
@ IOCTL_AUDIO_GET_SAMPLE_RATE
Definition: driver.h:42
struct __DriverInfo::__DriverVersion Version
NetIoctl
Definition: driver.h:50
@ IOCTL_NET_GET_MAC
Definition: driver.h:51
void * Device
Definition: driver.h:25
const char * Name
Definition: driver.h:65
const char * License
Definition: driver.h:73
PageMapFlags
Definition: driver.h:55
@ MAP_CACHE_DISABLE
Definition: driver.h:60
@ MAP_WRITE_THROUGH
Definition: driver.h:59
@ MAP_WRITE
Definition: driver.h:57
@ MAP_PRESENT
Definition: driver.h:56
@ MAP_USER
Definition: driver.h:58
const char * Description
Definition: driver.h:66