Fennix
1.0.0
Full Documentation
Loading...
Searching...
No Matches
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
{
36
IOCTL_AUDIO_GET_VOLUME
= 0,
37
IOCTL_AUDIO_SET_VOLUME
= 1,
38
39
IOCTL_AUDIO_GET_MUTE
= 2,
40
IOCTL_AUDIO_SET_MUTE
= 3,
41
42
IOCTL_AUDIO_GET_SAMPLE_RATE
= 4,
43
IOCTL_AUDIO_SET_SAMPLE_RATE
= 5,
44
45
IOCTL_AUDIO_GET_CHANNELS
= 6,
46
IOCTL_AUDIO_SET_CHANNELS
= 7,
47
}
AudioIoctl
;
48
49
typedef
enum
50
{
51
IOCTL_NET_GET_MAC
= 0,
52
}
NetIoctl
;
53
54
typedef
enum
55
{
56
MAP_PRESENT
= 1 << 0,
57
MAP_WRITE
= 1 << 1,
58
MAP_USER
= 1 << 2,
59
MAP_WRITE_THROUGH
= 1 << 3,
60
MAP_CACHE_DISABLE
= 1 << 4,
61
}
PageMapFlags
;
62
63
struct
__DriverInfo
64
{
65
const
char
*
Name
;
66
const
char
*
Description
;
67
const
char
*
Author
;
68
struct
__DriverVersion
69
{
70
int
APIVersion
;
71
int
Major
,
Minor
,
Patch
;
72
}
Version
;
73
const
char
*
License
;
74
};
75
76
#endif
// !__FENNIX_API_DRIVER_FUNCTIONS_H__
__PCIArray::Next
void * Next
Definition
driver.h:26
__DriverInfo::Author
const char * Author
Definition
driver.h:67
__DriverInfo::__DriverVersion::Minor
int Minor
Definition
driver.h:71
AudioIoctl
AudioIoctl
Definition
driver.h:35
IOCTL_AUDIO_GET_CHANNELS
@ IOCTL_AUDIO_GET_CHANNELS
Definition
driver.h:45
IOCTL_AUDIO_SET_VOLUME
@ IOCTL_AUDIO_SET_VOLUME
Definition
driver.h:37
IOCTL_AUDIO_GET_VOLUME
@ IOCTL_AUDIO_GET_VOLUME
Definition
driver.h:36
IOCTL_AUDIO_SET_MUTE
@ IOCTL_AUDIO_SET_MUTE
Definition
driver.h:40
IOCTL_AUDIO_SET_CHANNELS
@ IOCTL_AUDIO_SET_CHANNELS
Definition
driver.h:46
IOCTL_AUDIO_GET_MUTE
@ IOCTL_AUDIO_GET_MUTE
Definition
driver.h:39
IOCTL_AUDIO_SET_SAMPLE_RATE
@ IOCTL_AUDIO_SET_SAMPLE_RATE
Definition
driver.h:43
IOCTL_AUDIO_GET_SAMPLE_RATE
@ IOCTL_AUDIO_GET_SAMPLE_RATE
Definition
driver.h:42
__DriverInfo::__DriverVersion::Major
int Major
Definition
driver.h:71
__DriverInfo::Version
struct __DriverInfo::__DriverVersion Version
NetIoctl
NetIoctl
Definition
driver.h:50
IOCTL_NET_GET_MAC
@ IOCTL_NET_GET_MAC
Definition
driver.h:51
__PCIArray::Device
void * Device
Definition
driver.h:25
__DriverInfo::Name
const char * Name
Definition
driver.h:65
__DriverInfo::License
const char * License
Definition
driver.h:73
PageMapFlags
PageMapFlags
Definition
driver.h:55
MAP_CACHE_DISABLE
@ MAP_CACHE_DISABLE
Definition
driver.h:60
MAP_WRITE_THROUGH
@ MAP_WRITE_THROUGH
Definition
driver.h:59
MAP_WRITE
@ MAP_WRITE
Definition
driver.h:57
MAP_PRESENT
@ MAP_PRESENT
Definition
driver.h:56
MAP_USER
@ MAP_USER
Definition
driver.h:58
__DriverInfo::Description
const char * Description
Definition
driver.h:66
__DriverInfo::__DriverVersion::Patch
int Patch
Definition
driver.h:71
__DriverInfo::__DriverVersion::APIVersion
int APIVersion
Definition
driver.h:70
__DriverInfo::__DriverVersion
Definition
driver.h:69
__DriverInfo
Definition
driver.h:64
__PCIArray
Definition
driver.h:24
Kernel
include
interface
driver.h
Generated on Tue Mar 25 2025 15:19:42 for Fennix by
1.9.8