X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fsb-posix.texinfo;h=358d2ebb010d06f634872e7b5b5cbd249fb0179f;hb=3db292921fabecad0ba8107097d763ba2a044136;hp=95fd8bedfa9990d793c647cfeef74bd1d4febbd7;hpb=9fb8bf2eb2c91cbda313edaa3362ff8b221ab81d;p=sbcl.git diff --git a/contrib/sb-posix/sb-posix.texinfo b/contrib/sb-posix/sb-posix.texinfo index 95fd8be..358d2eb 100644 --- a/contrib/sb-posix/sb-posix.texinfo +++ b/contrib/sb-posix/sb-posix.texinfo @@ -23,12 +23,12 @@ consistency of Lisp. Not all functions are available on all 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 @@ -67,66 +67,24 @@ introduce designators such that CL pathnames or open streams can be 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