Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HOTPLUG(4)	       FreeBSD Kernel Interfaces Manual		    HOTPLUG(4)

NAME
     hotplug --	devices	hot plugging

SYNOPSIS
     pseudo-device hotplug 1

     #include <sys/types.h>
     #include <sys/device.h>
     #include <sys/hotplug.h>

DESCRIPTION
     The hotplug pseudo-device passes device attachment	and detachment events
     to	userland.  When	a device attaches or detaches, the corresponding event
     is	queued.	 The events can	then be	obtained from the queue	through	the
     read(2) call on the /dev/hotplug device file.  Once an event has been
     read, it's	deleted	from the queue.	 The event queue has a limited size
     and if it's full all new events will be dropped.  Each event is described
     with the following	structure declared in the <sys/hotplug.h> header file:

	   struct hotplug_event	{
		   int		   he_type;	   /* event type	   */
		   enum	devclass   he_devclass;	   /* device class	   */
		   char		   he_devname[16]; /* device name	   */
	   };

     The he_type field describes the event type	and can	be either
     HOTPLUG_DEVAT for device attachment or HOTPLUG_DEVDT for detachment.  The
     he_devclass field describes the device class.  All	device classes can be
     found in the <sys/device.h> header	file:

	   enum	devclass {
		   DV_DULL,	   /* generic, no special info */
		   DV_CPU,	   /* CPU (carries resource utilization) */
		   DV_DISK,	   /* disk drive (label, etc) */
		   DV_IFNET,	   /* network interface	*/
		   DV_TAPE,	   /* tape device */
		   DV_TTY	   /* serial line interface */
	   };

     The he_devname is a device	name including unit number, e.g. sd1.

     Only one structure	can be read per	call.  If there	are no events in the
     queue, the	read(2)	call will block	until an event appears.

DIAGNOSTICS
     hotplug: event lost, queue	full  New events will be dropped until all
     pending events have been read.

SEE ALSO
     read(2), hotplugd(8)

HISTORY
     The hotplug device	first appeared in OpenBSD 3.6.

AUTHORS
     The hotplug driver	was written by Alexander Yurchenko
     <grange@openbsd.org>.

FreeBSD	13.0		      September	14, 2015		  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=hotplug&sektion=4&manpath=OpenBSD+6.9>

home | help