dpns_creat man page

DPNS_CREAT(3)               DPNS Library Functions               DPNS_CREAT(3)

[1mNAME[0m
      dpns_creat - create a new DPNS file or reset it in the name server

[1mSYNOPSIS[0m
      [1m#include <sys/types.h>[0m
      [1m#include "dpns_api.h"[0m

      [1mint dpns_creat (const char *[4m[22mpath[24m[1m, mode_t [4m[22mmode[24m[1m)[0m

      [1mint  dpns_creatx  (const  char  *[4m[22mpath[24m[1m,  mode_t [4m[22mmode[24m[1m, struct dpns_fileid[0m
      [1m*[4m[22mfile_uniqueid[24m[1m)[0m

[1mDESCRIPTION[0m
      [1mdpns_creat [22mcreates a new DPNS file or resets it in the name server.

      If the file exists, the length is truncated to 0 and the mode and owner
      are unchanged.

      If  the file does not exist yet, an entry is created in the name server
      database and the file's owner ID is set to the effective user ID of the
      requestor.   The  group ID of the file is set to the effective group ID
      of the requestor or is taken from the parent directory  if  the  latter
      has the [1mS_ISGID [22mbit set.

      The  access  permission bits for the file are taken from [4mmode[24m, then all
      bits set in the requestor's file mode creation mask  are  cleared  (see
      [1mdpns_umask[22m(3)).

      [1mdpns_creatx  [22mbehaves  in  the  same  way and returns the file unique id
      (name server hostname and file id).

      [4mpath[24m   specifies the logical pathname  relative  to  the  current  DPNS
             directory or the full DPNS pathname.

[1mRETURN VALUE[0m
      This  routine  returns  0  if the operation was successful or -1 if the
      operation failed. In the latter case, [1mserrno [22mis set appropriately.

[1mERRORS[0m
      [1mENOENT       [22mA component of [4mpath[24m prefix does not exist  or  [4mpath[24m  is  a
                   null pathname.

      [1mEACCES       [22mSearch  permission  is  denied  on a component of the [4mpath[0m
                   prefix or the file does not exist and write permission  on
                   the  parent  directory  is  denied  or the file exists and
                   write permission on the file itself is denied.

      [1mEFAULT       [4m[22mpath[24m or [4mfile_uniqueid[24m is a NULL pointer.

      [1mEEXIST       [22mFile exists already and has replicas.

      [1mENOTDIR      [22mA component of [4mpath[24m prefix is not a directory.

      [1mEISDIR       [4m[22mpath[24m is an existing directory.

      [1mEINVAL       [22mThe fileclass in the parent directory is zero.

      [1mENOSPC       [22mThe name server database is full.

      [1mENAMETOOLONG [22mThe length of [4mpath[24m exceeds [1mCA_MAXPATHLEN [22mor the length  of
                   a [4mpath[24m component exceeds [1mCA_MAXNAMELEN[22m.

      [1mSENOSHOST    [22mHost unknown.

      [1mSENOSSERV    [22mService unknown.

      [1mSECOMERR     [22mCommunication error.

      [1mENSNACT      [22mName server is not running or is being shutdown.

[1mSEE ALSO[0m
      [1mCastor_limits(4)[22m,             [1mdpns_chdir(3)[22m,             [1mdpns_chmod(3)[22m,
      [1mdpns_stat(3), dpns_statg(3)[22m, [1mdpns_umask(3)[0m

[1mAUTHOR[0m
      [1mLCG Grid Deployment [22mTeam

DPNS                     $Date: 2005/06/30 08:34:03 $            DPNS_CREAT(3)