|
|
1.1 root 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_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.