Sponsored Content
Full Discussion: Chardev.c
Operating Systems Linux Chardev.c Post 302778347 by Corona688 on Sunday 10th of March 2013 01:55:45 PM
Old 03-10-2013
It's used for hundreds of device control things where the usual system calls don't quite fit. It's hard to give an "average" example since it's almost guaranteed to not make sense out of context.

There are ioctl's to make a cdrom play or pause.

There are ioctl's to set the format of a floppy drive.

There are ioctl's to get the geometry of a hard drive.

There are ioctl's to control a linux PPP network device.

There are ioctl's to control sound cards.

There are ioctl's to set or clear lines on a serial port.

etc, etc.
 
hdio(7I)							  Ioctl Requests							  hdio(7I)

NAME
hdio - SMD and IPI disk control operations SYNOPSIS
#include <sys/hdio.h> DESCRIPTION
Note - The SMC and IPI drivers have been discontinued. dkio(7I) is now the preferred method for retrieving disk information. The SMD and IPI disk drivers supplied with this release support a set of ioctl(2) requests for diagnostics and bad sector information. Basic to these ioctl() requests are the definitions in <sys/hdio.h>. IOCTLS
HDKIOCGTYPE The argument is a pointer to a hdk_type structure (described below). This ioctl() gets specific information from the hard disk. HDKIOCSTYPE The argument is a pointer to a hdk_type structure (described below). This ioctl() sets specific information about the hard disk. /* * Used for drive info */ struct hdk_type { ushort_t hdkt_hsect; /* hard sector count (read only) */ ushort_t hdkt_promrev; /* prom revision (read only) */ uchar_t hdkt_drtype; /* drive type (ctlr specific) */ uchar_t hdkt_drstat; /* drive status (ctlr specific, ro) */ }; HDKIOCGBAD The argument is a pointer to a hdk_badmap structure (described below). This ioctl() is used to get the bad sector map from the disk. HDKIOCSBAD The argument is a pointer to a hdk_badmap structure (described below). This ioctl() is used to set the bad sector map on the disk. /* * Used for bad sector map */ struct hdk_badmap { caddr_t hdkb_bufaddr; /* address of user's map buffer */ }; HDKIOCGDIAG The argument is a pointer to a hdk_diag structure (described below). This ioctl() gets the most recent command that failed along with the sector and error number from the hard disk. /* * Used for disk diagnostics */ struct hdk_diag { ushort_t hdkd_errcmd; /* most recent command in error */ daddr_t hdkd_errsect; /* most recent sector in error */ uchar_t hdkd_errno; /* most recent error number */ uchar_t hdkd_severe; /* severity of most recent error */ }; SEE ALSO
ioctl(2), dkio(7I) SunOS 5.10 13 Aug 2002 hdio(7I)
All times are GMT -4. The time now is 01:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy