platforms.
@menu
-* Lisp names for C names::
-* Types::
-* Lisp objects and C structures::
-* Function Parameters::
-* Function Return Values::
-* Functions with idiosyncratic bindings::
+* Lisp names for C names::
+* Types::
+* Function Parameters::
+* Function Return Values::
+* Lisp objects and C structures::
+* Functions with idiosyncratic bindings::
@end menu
passed to these functions. For example, @code{rename} accepts both
pathnames and strings as its arguments.
-@menu
-* File-descriptors::
-* Filenames::
-* Type conversion functions::
+@menu
+* File-descriptors::
+* Filenames::
@end menu
@node File-descriptors
@subsubsection File-descriptors
-A file-descriptor is a non-negative small integer.
-
-A file-stream is a designator for a file-descriptor: the stream's file
-descriptor is extracted. Note that mixing I/O operations on a stream
-with operations directly on its descriptor may produce unexpected
-results if the stream is buffered.
-
-@code{SB-EXT:MAKE-FD-STREAM} can be used to construct a stream
-associated with a file descriptor.
+@include type-sb-posix-file-descriptor.texinfo
+@include type-sb-posix-file-descriptor-designator.texinfo
+@include fun-sb-posix-file-descriptor.texinfo
@node Filenames
@subsubsection Filenames
-A filename is a string.
-
-A pathname is a designator for a filename: the filename is computed
-using the same mechanism that SBCL uses to map pathnames to OS filenames
-internally.
-
-Note that filename syntax is distinct from namestring syntax, and that
-@code{SB-EXT:PARSE-NATIVE-NAMESTRING} may be used to construct
-Lisp pathnames that denote POSIX filenames returned by system calls.
-@xref{Function sb-ext:parse-native-namestring}. Additionally, notice
-that POSIX filename syntax does not distinguish the names of files
-from the names of directories. Consequently, in order to parse the
-name of a directory in POSIX filename syntax into a pathname
-@code{defaults} for which
-
-@lisp
-(merge-pathnames (make-pathname :name "FOO" :case :common)
- defaults)
-@end lisp
-
-@noindent
-returns a pathname that denotes a file in the directory, supply a true
-@code{AS-DIRECTORY} argument to @code{SB-EXT:PARSE-NATIVE-NAMESTRING}.
-Likewise, if it is necessary to supply the name of a directory to a
-POSIX function in non-directory syntax, supply a true @code{AS-FILE}
-argument to @code{SB-EXT:NATIVE-NAMESTRING}.
-
-@node Type conversion functions
-@subsubsection Type conversion functions
-
-For each of these types there is a function of the same name that
-converts any valid designator for the type into an object of said type.
-
-@lisp
-(with-open-file (o "/tmp/foo" :direction :output)
- (sb-posix:file-descriptor o))
-=> 4
-@end lisp
+@include type-sb-posix-filename.texinfo
+@include type-sb-posix-filename-designator.texinfo
+@include fun-sb-posix-filename.texinfo
@node Function Parameters
@subsection Function Parameters