ldi_ioctl man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

ldi_ioctl(9F)		 Kernel Functions for Drivers		 ldi_ioctl(9F)

NAME
       ldi_ioctl - send an ioctl to a device

SYNOPSIS
       #include <sys/sunldi.h>

       int ldi_ioctl(ldi_handle_t lh, int cmd, intptr_t arg, int mode,
	    cred_t  *cr, int *rvalp);

PARAMETERS
       lh	Layered handle.

       cr	Pointer to a credential structure used to open a device.

       rvalp	Caller	return	value. (May be set by driver and is valid only
		if the ioctl() succeeds).

       cmd	Command argument. Interpreted by driver ioctl() as the	opera‐
		tion to be performed.

       arg	Driver	parameter. Argument interpretation is driver dependent
		and usually depends on the command type.

       mode	Bit field that contains:

		FKIOCTL	   Inform the target device that the ioctl  originated
			   from within the kernel.

DESCRIPTION
       The  ldi_ioctl()	 function  passes an ioctl request to the device entry
       point for the device specified by the layered handle. This operation is
       supported for block, character, and streams devices.

       If  arg	is  interpreted	  as  a	 pointer (that is, as not an immediate
       value) and the data pointed to by arg is in the kernels address	space,
       the  FKIOCTL  flag  should  be set. This indicates to the target driver
       that no data model conversion is necessary.

       If the caller of ldi_ioctl() is not the originator of  the  ioctl  data
       pointed	to by arg, (for example, when passing on an ioctl request from
       a user process), the caller must pass on the mode  parameter  from  the
       original	 ioctl.	 This  is because the mode parameter contains the con‐
       tains the FMODELS bits that enable the target driver to	determine  the
       data  model  of	the process which originated the ioctl and perform any
       necessary conversions. See ddi_model_convert_from(9F) for more informa‐
       tion.

STREAM IOCTLS
       For   a	 general  description  of  streams  ioctls  see	 streamio(7I).
       ldi_ioctl() supports a number of streams ioctls, using layered  handles
       in  the	place  of  file	 descriptors.  When issuing streams ioctls the
       FKIOCTL parameter should be specified. The possible return  values  for
       supported ioctl commands are also documented in streamio(7I).

       The following streams ioctls are supported:

       I_PLINK	    Behaves  as documented in streamio(7I). The layered handle
		    lh should point to the streams multiplexer. The arg param‐
		    eter  should point to a layered handle for another streams
		    driver.

       I_UNPLINK    Behaves as documented in streamio(7I)).  The layered  han‐
		    dle	 lh  should  point to the streams multiplexer. The arg
		    parameter is the multiplexor ID number returned by I_PLINK
		    when the streams were linked.

RETURN VALUES
       The  ldi_ioctl()	 function  returns 0 upon success. If a failure occurs
       before the request is passed on to the device, possible	return	values
       are  shown  below.  Otherwise any other error number may be returned by
       the device.

       EINVAL	  Invalid input parameters.

       ENOTSUP	  Operation is not supported for this device.

CONTEXT
       These functions can be called from user or kernel context.

SEE ALSO
       streamio(7I), ddi_model_convert_from(9F)

SunOS 5.11			  3 June 2003			 ldi_ioctl(9F)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net