home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 4 / hacker04 / 04_HACK04.ISO / darwin / darwinx86.iso / usr / include / sys / loadable_fs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-30  |  4.2 KB  |  126 lines

  1. /*
  2.  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  3.  *
  4.  * @APPLE_LICENSE_HEADER_START@
  5.  * 
  6.  * The contents of this file constitute Original Code as defined in and
  7.  * are subject to the Apple Public Source License Version 1.1 (the
  8.  * "License").  You may not use this file except in compliance with the
  9.  * License.  Please obtain a copy of the License at
  10.  * http://www.apple.com/publicsource and read it before using this file.
  11.  * 
  12.  * This Original Code and all software distributed under the License are
  13.  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14.  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16.  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17.  * License for the specific language governing rights and limitations
  18.  * under the License.
  19.  * 
  20.  * @APPLE_LICENSE_HEADER_END@
  21.  */
  22. /*    @(#)loadable_fs.h    2.0    26/06/90    (c) 1990 NeXT    */
  23.  
  24. /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  25.  *
  26.  * W I L L    D R A S T I C A L L Y   C H A N G E   S O O N 
  27.  * U S E   A T  Y O U R   O W N  R I S K
  28.  *
  29.  * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
  30.  
  31.  
  32. /* 
  33.  * loadable_fs.h - message struct for loading and initializing loadable
  34.  *           file systems.
  35.  *
  36.  * HISTORY
  37.  * 26-Jun-90    Doug Mitchell at NeXT
  38.  *    Created.
  39.  * 5-Nov-91    Lee Boynton at NeXT
  40.  *    Added support for initialization, labels, and WSM options
  41.  * 29-Mar-99    A.Ramesh at Apple
  42.  *    Added to Mac OS X, removed mach message related defns
  43.  */
  44.  
  45. #ifndef    _LOADABLE_FS_
  46. #define _LOADABLE_FS_
  47.  
  48.  
  49. /*
  50.  * Constants for Loadabls FS Utilities (in "/System/Library/Filesystems")
  51.  *
  52.  * Example of a /usr/filesystems directory
  53.  *
  54.  * /usr/filesystems/dos.fs/dos.util        utility with which WSM 
  55.  *                            communicates
  56.  * /usr/filesystems/dos.fs/dos.name         "DOS Floppy" 
  57.  * /usr/filesystems/dos.fs/dos_reloc        actual loadable filesystem
  58.  * /usr/filesystems/dos.fs/dos.openfs.tiff    "open folder" icon 
  59.  * /usr/filesystems/dos.fs/dos.fs.tiff        "closed folder" icon 
  60.  */
  61. #define FS_DIR_LOCATION        "/System/Library/Filesystems"
  62. #define FS_DIR_SUFFIX        ".fs"
  63. #define FS_UTIL_SUFFIX        ".util"
  64. #define FS_OPEN_SUFFIX        ".openfs.tiff"
  65. #define FS_CLOSED_SUFFIX    ".fs.tiff"
  66. #define FS_NAME_SUFFIX        ".name"
  67. #define FS_LABEL_SUFFIX        ".label"
  68.  
  69. /*
  70.  * .util program commands - all sent in the form "-p" or "-m" ... as argv[1].
  71.  */
  72. #define FSUC_PROBE        'p'    /* probe FS for mount or init */
  73.     /* example usage: foo.util -p fd0 removable writable */ 
  74.  
  75. #define FSUC_PROBEFORINIT    'P'    /* probe FS for init only */
  76.     /* example usage: foo.util -P fd0 removable */ 
  77.  
  78. #define FSUC_MOUNT        'm'    /* mount FS */
  79.     /* example usage: foo.util -m fd0 /bar removable writable */ 
  80.  
  81. #define FSUC_REPAIR        'r'    /* repair ('fsck') FS */ 
  82.     /* example usage: foo.util -r fd0 removable */
  83.  
  84. #define    FSUC_INITIALIZE        'i'    /* initialize FS */
  85.     /* example usage: foo.util -i fd0 removable */ 
  86.  
  87. #define FSUC_UNMOUNT        'u'    /* unmount FS */
  88.     /* example usage: foo.util -u fd0 /bar */ 
  89.  
  90. /* The following is not used by Workspace Manager */
  91. #define FSUC_MOUNT_FORCE    'M'    /* like FSUC_MOUNT, but proceed even on
  92.                      * error. */
  93. /*
  94.  * Return codes from .util program
  95.  */
  96. #define FSUR_RECOGNIZED        (-1)    /* response to FSUC_PROBE; implies that
  97.                      * a mount is possible */
  98. #define FSUR_UNRECOGNIZED    (-2)    /* negative response to FSUC_PROBE */
  99. #define FSUR_IO_SUCCESS        (-3)    /* mount, unmount, repair succeeded */
  100. #define FSUR_IO_FAIL        (-4)    /* unrecoverable I/O error */
  101. #define FSUR_IO_UNCLEAN        (-5)    /* mount failed, file system not clean 
  102.                      */
  103. #define FSUR_INVAL        (-6)    /* invalid argument */
  104. #define FSUR_LOADERR        (-7)    /* kern_loader error */
  105. #define FSUR_INITRECOGNIZED    (-8)    /* response to FSUC_PROBE or 
  106.                      * FSUC_PROBEFORINIT, implies that
  107.                      * initialization is possible */
  108.  
  109. /*
  110.  *    mount parameters passed from WSM to the .util program.
  111.  */
  112. #define    DEVICE_READONLY        "readonly"
  113. #define    DEVICE_WRITABLE        "writable"
  114.  
  115. #define    DEVICE_REMOVABLE    "removable"
  116. #define    DEVICE_FIXED        "fixed"
  117.  
  118. /*
  119.  *    Additional parameters to the mount command - used by WSM when they
  120.  *    appear in the /etc/mtab file.
  121.  */
  122. #define    MNTOPT_FS        "filesystem=" /* e.g. "filesystem=DOS" */
  123. #define    MNTOPT_REMOVABLE    "removable"
  124.  
  125. #endif    /* _LOADABLE_FS_ */
  126.