The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/bsd/sys/disk.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 1998-2002 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
    7  * 
    8  * This file contains Original Code and/or Modifications of Original Code
    9  * as defined in and that are subject to the Apple Public Source License
   10  * Version 2.0 (the 'License'). You may not use this file except in
   11  * compliance with the License. Please obtain a copy of the License at
   12  * http://www.opensource.apple.com/apsl/ and read it before using this
   13  * file.
   14  * 
   15  * The Original Code and all software distributed under the License are
   16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   20  * Please see the License for the specific language governing rights and
   21  * limitations under the License.
   22  * 
   23  * @APPLE_LICENSE_HEADER_END@
   24  */
   25 
   26 #ifndef _SYS_DISK_H_
   27 #define _SYS_DISK_H_
   28 
   29 #include <sys/ioctl.h>
   30 #include <sys/types.h>
   31 
   32 /*
   33  * Definitions
   34  *
   35  * ioctl                            description
   36  * -------------------------------- --------------------------------------------
   37  * DKIOCEJECT                       eject media
   38  * DKIOCSYNCHRONIZECACHE            flush media
   39  *
   40  * DKIOCFORMAT                      format media
   41  * DKIOCGETFORMATCAPACITIES         get media's formattable capacities
   42  *
   43  * DKIOCGETBLOCKSIZE                get media's block size
   44  * DKIOCGETBLOCKCOUNT               get media's block count
   45  * DKIOCGETFIRMWAREPATH             get media's firmware path
   46  *
   47  * DKIOCISFORMATTED                 is media formatted?
   48  * DKIOCISWRITABLE                  is media writable?
   49  *
   50  * DKIOCGETMAXBLOCKCOUNTREAD        get maximum block count for reads
   51  * DKIOCGETMAXBLOCKCOUNTWRITE       get maximum block count for writes
   52  * DKIOCGETMAXBYTECOUNTREAD         get maximum byte count for reads
   53  * DKIOCGETMAXBYTECOUNTWRITE        get maximum byte count for writes
   54  * DKIOCGETMAXSEGMENTCOUNTREAD      get maximum segment count for reads
   55  * DKIOCGETMAXSEGMENTCOUNTWRITE     get maximum segment count for writes
   56  * DKIOCGETMAXSEGMENTBYTECOUNTREAD  get maximum segment byte count for reads
   57  * DKIOCGETMAXSEGMENTBYTECOUNTWRITE get maximum segment byte count for writes
   58  */
   59 
   60 typedef struct
   61 {
   62     char path[128];
   63 } dk_firmware_path_t;
   64 
   65 typedef struct
   66 {
   67     u_int64_t              blockCount;
   68     u_int32_t              blockSize;
   69 
   70     u_int8_t               reserved0096[4];        /* reserved, clear to zero */
   71 } dk_format_capacity_t;
   72 
   73 typedef struct
   74 {
   75     dk_format_capacity_t * capacities;
   76     u_int32_t              capacitiesCount;        /* use zero to probe count */
   77 
   78     u_int8_t               reserved0064[8];        /* reserved, clear to zero */
   79 } dk_format_capacities_t;
   80 
   81 #define DKIOCEJECT                       _IO('d', 21)
   82 #define DKIOCSYNCHRONIZECACHE            _IO('d', 22)
   83 
   84 #define DKIOCFORMAT                      _IOW('d', 26, dk_format_capacity_t)
   85 #define DKIOCGETFORMATCAPACITIES         _IOWR('d', 26, dk_format_capacities_t)
   86 
   87 #define DKIOCGETBLOCKSIZE                _IOR('d', 24, u_int32_t)
   88 #define DKIOCGETBLOCKCOUNT               _IOR('d', 25, u_int64_t)
   89 #define DKIOCGETFIRMWAREPATH             _IOR('d', 28, dk_firmware_path_t)
   90 
   91 #define DKIOCISFORMATTED                 _IOR('d', 23, u_int32_t)
   92 #define DKIOCISWRITABLE                  _IOR('d', 29, u_int32_t)
   93 
   94 #define DKIOCGETMAXBLOCKCOUNTREAD        _IOR('d', 64, u_int64_t)
   95 #define DKIOCGETMAXBLOCKCOUNTWRITE       _IOR('d', 65, u_int64_t)
   96 #define DKIOCGETMAXBYTECOUNTREAD         _IOR('d', 70, u_int64_t)
   97 #define DKIOCGETMAXBYTECOUNTWRITE        _IOR('d', 71, u_int64_t)
   98 #define DKIOCGETMAXSEGMENTCOUNTREAD      _IOR('d', 66, u_int64_t)
   99 #define DKIOCGETMAXSEGMENTCOUNTWRITE     _IOR('d', 67, u_int64_t)
  100 #define DKIOCGETMAXSEGMENTBYTECOUNTREAD  _IOR('d', 68, u_int64_t)
  101 #define DKIOCGETMAXSEGMENTBYTECOUNTWRITE _IOR('d', 69, u_int64_t)
  102 
  103 #ifdef KERNEL
  104 #define DKIOCGETISVIRTUAL                _IOR('d', 72, u_int32_t)
  105 #define DKIOCGETBLOCKCOUNT32             _IOR('d', 25, u_int32_t)
  106 #define DKIOCSETBLOCKSIZE                _IOW('d', 24, u_int32_t)
  107 #define DKIOCGETBSDUNIT                  _IOR('d', 27, u_int32_t)
  108 #endif /* KERNEL */
  109 
  110 #endif  /* _SYS_DISK_H_ */

Cache object: ce4e4505b90010da3c9568f439d62ae2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.