Annotation of 42BSD/usr.bin/uucp/LIBNDIR/directory.3s, revision 1.1

1.1     ! root        1: ..TH DIRECTORY 3  "OGC Revision  8/02/82"
        !             2: .TH DIRECTORY 3X 8/1/82
        !             3: .UC 4.1b Compatability
        !             4: .SH NAME
        !             5: opendir, readdir, telldir, seekdir, rewinddir, closedir \- flexible length directory operations
        !             6: .SH SYNOPSIS
        !             7: .B #include <ndir.h>
        !             8: .PP
        !             9: .SM
        !            10: .B DIR
        !            11: .B *opendir(filename)
        !            12: .br
        !            13: .B char *filename;
        !            14: .PP
        !            15: .SM
        !            16: .B struct direct
        !            17: .B *readdir(dirp)
        !            18: .br
        !            19: .B DIR *dirp;
        !            20: .PP
        !            21: .SM
        !            22: .B long
        !            23: .B telldir(dirp)
        !            24: .br
        !            25: .B DIR *dirp;
        !            26: .PP
        !            27: .SM
        !            28: .B seekdir(dirp, loc)
        !            29: .br
        !            30: .B DIR *dirp;
        !            31: .br
        !            32: .B long loc;
        !            33: .PP
        !            34: .SM
        !            35: .B rewinddir(dirp)
        !            36: .br
        !            37: .B DIR *dirp;
        !            38: .PP
        !            39: .SM
        !            40: .B closedir(dirp)
        !            41: .br
        !            42: .B DIR *dirp;
        !            43: .PP
        !            44: .SM
        !            45: .B cc ... -lndir
        !            46: .SH DESCRIPTION
        !            47: The purpose of this library is to simulate
        !            48: the new flexible length directory names of 4.2bsd Unix
        !            49: on top of the old directory structure of 4.1bsd.
        !            50: It allows programs to be converted immediately
        !            51: to the new directory access interface,
        !            52: so that they need only be relinked
        !            53: when 4.2bsd becomes available.
        !            54: .PP
        !            55: .I opendir
        !            56: opens the directory named by
        !            57: .I filename
        !            58: and associates a
        !            59: .I directory stream
        !            60: with it.
        !            61: .I opendir
        !            62: returns a pointer to be used to identify the
        !            63: .I directory stream
        !            64: in subsequent operations.
        !            65: The pointer
        !            66: .SM
        !            67: .B NULL
        !            68: is returned if
        !            69: .I filename
        !            70: cannot be accessed or is not a directory.
        !            71: .PP
        !            72: .I readdir
        !            73: returns a pointer to the next directory entry.
        !            74: It returns
        !            75: .B NULL
        !            76: upon reaching the end of the directory or detecting
        !            77: an invalid
        !            78: .I seekdir
        !            79: operation.
        !            80: .PP
        !            81: .I telldir
        !            82: returns the current location associated with the named
        !            83: .I directory stream.
        !            84: .PP
        !            85: .I seekdir
        !            86: sets the position of the next
        !            87: .I readdir
        !            88: operation on the
        !            89: .I directory stream.
        !            90: The new position reverts to the one associated with the
        !            91: .I directory stream
        !            92: when the
        !            93: .I telldir
        !            94: operation was performed.
        !            95: Values returned by
        !            96: .I telldir
        !            97: are good only for the lifetime of the DIR pointer from
        !            98: which they are derived.
        !            99: If the directory is closed and then reopened,
        !           100: the
        !           101: .I telldir
        !           102: value may be invalidated
        !           103: due to undetected directory compaction.
        !           104: It is safe to use a previous
        !           105: .I telldir
        !           106: value immediately after a call to
        !           107: .I opendir
        !           108: and before any calls to
        !           109: .I readdir.
        !           110: .PP
        !           111: .I rewinddir
        !           112: resets the position of the named
        !           113: .I directory stream
        !           114: to the beginning of the directory.
        !           115: .PP
        !           116: .I closedir
        !           117: causes the named
        !           118: .I directory stream
        !           119: to be closed,
        !           120: and the structure associated with the DIR pointer to be freed.
        !           121: .PP
        !           122: See /usr/include/ndir.h for a description of the fields available in
        !           123: a directory entry.
        !           124: The preferred way to search the current directory for entry "name" is:
        !           125: .br
        !           126: .sp
        !           127:        len = strlen(name);
        !           128: .br
        !           129:        dirp = opendir(".");
        !           130: .br
        !           131:        for (dp = readdir(dirp); dp != NULL; dp = readdir(dir))
        !           132: .br
        !           133:                if (dp->d_namlen == len && !strcmp(dp->d_name, name)) {
        !           134: .br
        !           135:                        closedir(dirp);
        !           136: .br
        !           137:                        return FOUND;
        !           138: .br
        !           139:                }
        !           140: .br
        !           141:        closedir(dirp);
        !           142: .br
        !           143:        return NOT_FOUND;
        !           144: .SH LINKING
        !           145: This library is accessed by specifying "-lndir" as the
        !           146: last argument to the compile line, e.g.:
        !           147: .br
        !           148: .sp
        !           149:        cc -o prog prog.c -lndir
        !           150: .SH "SEE ALSO"
        !           151: /usr/include/ndir.h,
        !           152: open(2),
        !           153: close(2),
        !           154: read(2),
        !           155: lseek(2)
        !           156: .SH AUTHOR
        !           157: Kirk McKusick.
        !           158: Report problems to mckusick@berkeley or ucbvax!mckusick.

unix.superglobalmegacorp.com

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