]> git.ipfire.org Git - thirdparty/systemd.git/blame - udevd.h
[PATCH] udev_volume_id: volume_id version 034
[thirdparty/systemd.git] / udevd.h
CommitLineData
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 49struct udevsend_msg {
53921bfa 50 char magic[20];
6f59ed55 51 char envbuf[HOTPLUG_BUFFER_SIZE+256];
4a231017
KS
52};
53
54struct hotplug_msg {
a695feae 55 struct list_head list;
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;
6f59ed55 63 char *envp[HOTPLUG_NUM_ENVP+1];
4a231017 64 char envbuf[];
7fafc032 65};