dpns_creat man page

DPNS_CREAT(3) DPNS Library Functions DPNS_CREAT(3)

dpns_creat - create a new DPNS file or reset it in the name server

[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

[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_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.

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

[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

[1mLCG Grid Deployment [22mTeam

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