Annotation of 43BSDReno/lib/libc/gen/directory.3, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983 Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"    @(#)directory.3 6.6 (Berkeley) 6/23/90
        !            19: .\"
        !            20: .TH DIRECTORY 3 "June 23, 1990"
        !            21: .UC 5
        !            22: .SH NAME
        !            23: opendir, readdir, telldir, seekdir, rewinddir, closedir, dirfd \- directory operations
        !            24: .SH SYNOPSIS
        !            25: .nf
        !            26: .ft B
        !            27: #include <sys/types.h>
        !            28: #include <dirent.h>
        !            29: 
        !            30: DIR *
        !            31: opendir(const char *filename);
        !            32: 
        !            33: struct direct
        !            34: *readdir(DIR * dirp);
        !            35: 
        !            36: long
        !            37: telldir(const DIR *dirp);
        !            38: 
        !            39: void
        !            40: seekdir(DIR *dirp, long loc);
        !            41: 
        !            42: void
        !            43: rewinddir(DIR *dirp);
        !            44: 
        !            45: int
        !            46: closedir(DIR *dirp);
        !            47: 
        !            48: int
        !            49: dirfd(DIR *dirp)
        !            50: .ft R
        !            51: .fi
        !            52: .SH DESCRIPTION
        !            53: .I Opendir
        !            54: opens the directory named by
        !            55: .I filename
        !            56: and associates a
        !            57: .I directory stream
        !            58: with it.
        !            59: .I Opendir
        !            60: returns a pointer to be used to identify the
        !            61: .I directory stream
        !            62: in subsequent operations.  The pointer
        !            63: .SM
        !            64: .B NULL
        !            65: is returned if
        !            66: .I filename
        !            67: cannot be accessed, or if it cannot
        !            68: .IR malloc (3)
        !            69: enough memory to hold the whole thing.
        !            70: .PP
        !            71: .I Readdir
        !            72: returns a pointer to the next directory entry.  It returns
        !            73: .B NULL
        !            74: upon reaching the end of the directory or detecting an invalid
        !            75: .I seekdir
        !            76: operation.
        !            77: .PP
        !            78: .I Telldir
        !            79: returns the current location associated with the named
        !            80: .I directory stream.
        !            81: .PP
        !            82: .I Seekdir
        !            83: sets the position of the next
        !            84: .I readdir
        !            85: operation on the
        !            86: .I directory stream.
        !            87: The new position reverts to the one associated with the
        !            88: .I directory stream
        !            89: when the
        !            90: .I telldir
        !            91: operation was performed.  Values returned by
        !            92: .I telldir
        !            93: are good only for the lifetime of the DIR pointer from which they are derived.
        !            94: If the directory is closed and then reopened, the 
        !            95: .I telldir
        !            96: value may be invalidated due to undetected directory compaction.
        !            97: It is safe to use a previous
        !            98: .I telldir
        !            99: value immediately after a call to
        !           100: .I opendir
        !           101: and before any calls to
        !           102: .I readdir.
        !           103: .PP
        !           104: .I Rewinddir
        !           105: resets the position of the named
        !           106: .I directory stream
        !           107: to the beginning of the directory.
        !           108: .PP
        !           109: .I Closedir
        !           110: closes the named
        !           111: .I directory stream
        !           112: and frees the structure associated with the DIR pointer,
        !           113: returning 0 on success.
        !           114: On failure, -1 is returned and errno is set to indicate the error.
        !           115: .PP
        !           116: .I Dirfd
        !           117: returns the integer file descriptor associated with the named
        !           118: .I directory stream,
        !           119: see open(2).
        !           120: .PP
        !           121: Sample code which searchs a directory for entry ``name'' is:
        !           122: .PP
        !           123: .nf
        !           124: .RS
        !           125: len = strlen(name);
        !           126: dirp = opendir(".");
        !           127: for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
        !           128:        if (dp->d_namlen == len && !strcmp(dp->d_name, name)) {
        !           129:                (void)closedir(dirp);
        !           130:                return FOUND;
        !           131:        }
        !           132: (void)closedir(dirp);
        !           133: return NOT_FOUND;
        !           134: .RE
        !           135: .fi
        !           136: .SH "SEE ALSO"
        !           137: open(2), close(2), read(2), lseek(2), dir(5)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.