Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkdirp(3G) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mkdir(2)

rmdir(2)

umask(2)



mkdirp(3G)                       UNIX System V                       mkdirp(3G)


NAME
      mkdirp, rmdirp - create, remove directories in a path

SYNOPSIS
      cc [flag ...] file ...  -lgen [library ...]

      #include <libgen.h>

      int mkdirp (const char *path, modet mode);

      int rmdirp (char *d, char *d1);

DESCRIPTION
      mkdirp creates all the missing directories in the given path with the
      given mode.  [See chmod(2) for the values of mode.]  The protection part
      of the mode argument is modified by the process's file creation mask [see
      umask(2)].

      rmdirp removes directories in path d. This removal starts at the end of
      the path and moves back toward the root as far as possible.  If an error
      occurs, the remaining path is stored in d1.  rmdirp returns a 0 only if
      it is able to remove every directory in the path.

EXAMPLES
      /* create scratch directories */
      if(mkdirp("/tmp/sub1/sub2/sub3", 0755) == -1) {
            fprintf(stderr, "cannot create directory");
            exit(1);
      }
      chdir("/tmp/sub1/sub2/sub3");
      .
      .
      .
      /* cleanup */
      chdir("/tmp");
      rmdirp("sub1/sub2/sub3");

DIAGNOSTICS
      If a needed directory cannot be created, mkdirp returns -1 and sets errno
      to one of the mkdir error numbers.  If all the directories are created,
      or existed to begin with, it returns zero.

NOTES
      mkdirp uses malloc to allocate temporary space for the string.

      rmdirp returns -2 if a ``.'' or ``..''  is in the path and -3 if an
      attempt is made to remove the current directory.  If an error occurs
      other than one of the above, -1 is returned.

SEE ALSO
      mkdir(2), rmdir(2), umask(2).



10/89                                                                    Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026