]>
Commit | Line | Data |
---|---|---|
f0083e3d GKH |
1 | /* |
2 | * udev.h | |
3 | * | |
4 | * Userspace devfs | |
5 | * | |
6 | * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com> | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify it | |
9 | * under the terms of the GNU General Public License as published by the | |
10 | * Free Software Foundation version 2 of the License. | |
11 | * | |
12 | * This program is distributed in the hope that it will be useful, but | |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | * General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License along | |
18 | * with this program; if not, write to the Free Software Foundation, Inc., | |
19 | * 675 Mass Ave, Cambridge, MA 02139, USA. | |
20 | * | |
21 | */ | |
22 | ||
23 | #ifndef UDEV_H | |
24 | #define UDEV_H | |
25 | ||
26 | ||
27 | #ifdef DEBUG | |
28 | #include <syslog.h> | |
a507a015 GKH |
29 | #define dbg(format, arg...) \ |
30 | do { \ | |
31 | log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ | |
32 | } while (0) | |
f0083e3d GKH |
33 | #else |
34 | #define dbg(format, arg...) do { } while (0) | |
35 | #endif | |
36 | ||
37 | ||
38 | /* Lots of constants that should be in a config file sometime */ | |
85511f02 GKH |
39 | |
40 | /* Location of sysfs mount */ | |
f0083e3d | 41 | #define SYSFS_ROOT "/sys" |
85511f02 GKH |
42 | |
43 | /* Where udev should create its device nodes, trailing / needed */ | |
f0952f66 | 44 | #define UDEV_ROOT "/udev/" |
85511f02 GKH |
45 | |
46 | /* device file in sysfs that contains major/minor number, leading / needed */ | |
47 | #define DEV_FILE "/dev" | |
48 | ||
49 | /* Binaries that udev calls to do stuff */ | |
f0083e3d GKH |
50 | #define MKNOD "/bin/mknod" |
51 | ||
032abea6 GKH |
52 | extern int log_message (int level, const char *format, ...) |
53 | __attribute__ ((format (printf, 2, 3))); | |
a507a015 | 54 | |
185a35a4 GKH |
55 | #define NAME_SIZE 100 |
56 | #define OWNER_SIZE 30 | |
57 | #define GROUP_SIZE 30 | |
58 | ||
59 | struct device_attr { | |
185a35a4 GKH |
60 | char name[NAME_SIZE]; |
61 | char owner[OWNER_SIZE]; | |
62 | char group[GROUP_SIZE]; | |
19dc5d4c | 63 | int mode; |
185a35a4 GKH |
64 | }; |
65 | ||
ea733a2f GKH |
66 | extern int udev_add_device(char *device, char *subsystem); |
67 | extern int udev_remove_device(char *device, char *subsystem); | |
a507a015 | 68 | |
f0083e3d GKH |
69 | #endif |
70 |