]>
Commit | Line | Data |
---|---|---|
7fafc032 KS |
1 | /* |
2 | * udevd.h | |
3 | * | |
4 | * Userspace devfs | |
5 | * | |
6 | * Copyright (C) 2004 Ling, Xiaofeng <xiaofeng.ling@intel.com> | |
53921bfa | 7 | * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org> |
7fafc032 KS |
8 | * |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify it | |
11 | * under the terms of the GNU General Public License as published by the | |
12 | * Free Software Foundation version 2 of the License. | |
13 | * | |
14 | * This program is distributed in the hope that it will be useful, but | |
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License along | |
20 | * with this program; if not, write to the Free Software Foundation, Inc., | |
21 | * 675 Mass Ave, Cambridge, MA 02139, USA. | |
22 | * | |
23 | */ | |
24 | ||
a695feae | 25 | #include "list.h" |
33db4b8d | 26 | |
8e2229c4 | 27 | #define UDEV_MAGIC "udevd_" UDEV_VERSION |
872344c4 | 28 | #define UDEVD_SOCK_PATH "udevd" |
5cab7caa KS |
29 | #define SEND_WAIT_MAX_SECONDS 3 |
30 | #define SEND_WAIT_LOOP_PER_SECOND 10 | |
085cce37 KS |
31 | |
32 | #define UDEVD_PRIORITY -4 | |
33 | #define UDEV_PRIORITY -2 | |
34 | ||
35 | /* duration of initialization phase with shorter timeout */ | |
8b726878 KS |
36 | #define INIT_TIME_SEC 5 |
37 | #define EVENT_INIT_TIMEOUT_SEC 2 | |
085cce37 KS |
38 | |
39 | /* timeout to wait for missing events */ | |
8b726878 | 40 | #define EVENT_TIMEOUT_SEC 10 |
5cab7caa | 41 | |
085cce37 KS |
42 | /* start to throttle forking if maximum number of running childs in our session is reached */ |
43 | #define THROTTLE_MAX_RUNNING_CHILDS 10 | |
44 | ||
4a231017 KS |
45 | /* environment buffer, should match the kernel's size in lib/kobject_uevent.h */ |
46 | #define HOTPLUG_BUFFER_SIZE 1024 | |
47 | #define HOTPLUG_NUM_ENVP 32 | |
7fafc032 | 48 | |
4a231017 | 49 | struct udevsend_msg { |
53921bfa | 50 | char magic[20]; |
6f59ed55 | 51 | char envbuf[HOTPLUG_BUFFER_SIZE+256]; |
4a231017 KS |
52 | }; |
53 | ||
54 | struct hotplug_msg { | |
f8a178a3 | 55 | struct list_head node; |
35b7d88c | 56 | pid_t pid; |
e5a2989e | 57 | long queue_time; |
4a231017 KS |
58 | char *action; |
59 | char *devpath; | |
60 | char *subsystem; | |
61 | unsigned long long seqnum; | |
79721e0a | 62 | char *physdevpath; |
7f7ae03a | 63 | unsigned int timeout; |
6f59ed55 | 64 | char *envp[HOTPLUG_NUM_ENVP+1]; |
4a231017 | 65 | char envbuf[]; |
7fafc032 | 66 | }; |