1105573Simp/*-
2105573Simp * DEVD (Device action daemon)
3105573Simp *
4330449Seadler * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
5330449Seadler *
6105573Simp * Copyright (c) 2002 M. Warner Losh <imp@freebsd.org>.
7105573Simp * All rights reserved.
8105573Simp *
9105573Simp * Redistribution and use in source and binary forms, with or without
10105573Simp * modification, are permitted provided that the following conditions
11105573Simp * are met:
12105573Simp * 1. Redistributions of source code must retain the above copyright
13105573Simp *    notice, this list of conditions and the following disclaimer.
14105573Simp * 2. Redistributions in binary form must reproduce the above copyright
15105573Simp *    notice, this list of conditions and the following disclaimer in the
16105573Simp *    documentation and/or other materials provided with the distribution.
17105573Simp *
18105573Simp * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19105573Simp * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20105573Simp * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21105573Simp * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22105573Simp * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23105573Simp * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24105573Simp * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25105573Simp * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26105573Simp * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27105573Simp * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28105573Simp * SUCH DAMAGE.
29105573Simp *
30105573Simp * $FreeBSD: stable/11/sbin/devd/devd.h 330449 2018-03-05 07:26:05Z eadler $
31105573Simp */
32105573Simp
33114086Simp#ifndef DEVD_H
34114086Simp#define DEVD_H
35114086Simp
36114086Simp/** @warning This file needs to be purely 'C' compatible.
37114086Simp */
38107665Simpstruct event_proc;
39107665Simpstruct eps;
40107665Simp__BEGIN_DECLS
41107665Simpvoid add_attach(int, struct event_proc *);
42107665Simpvoid add_detach(int, struct event_proc *);
43107665Simpvoid add_directory(const char *);
44107665Simpvoid add_nomatch(int, struct event_proc *);
45121487Simpvoid add_notify(int, struct event_proc *);
46107665Simpstruct event_proc *add_to_event_proc(struct event_proc *, struct eps *);
47107665Simpstruct eps *new_match(const char *, const char *);
48147874Simpstruct eps *new_media(const char *, const char *);
49107665Simpstruct eps *new_action(const char *);
50107665Simpvoid set_pidfile(const char *);
51107665Simpvoid set_variable(const char *, const char *);
52105573Simpvoid yyerror(const char *s);
53107665Simpint  yylex(void);
54107665Simpint  yyparse(void);
55107665Simp__END_DECLS
56105573Simp
57107665Simp#define PATH_DEVCTL	"/dev/devctl"
58249951Sasomers#define DEVCTL_MAXBUF	8192
59114086Simp
60114086Simp#endif /* DEVD_H */
61