unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 getacl(2)							   getacl(2)




 NAME
      getacl, fgetacl - get access control list (ACL) information (HFS File
      Systems only)

 SYNOPSIS
      #include <&lt&lt&lt;sys/acl.h>&gt&gt&gt;

      int getacl(
	   const char *path,
	   int nentries,
	   struct acl_entry *acl
      );

      int fgetacl(int fildes, int nentries, struct acl_entry *acl);

 DESCRIPTION
      getacl() returns a complete listing of all ACL entries (uid.gid, mode)
      in an existing file's access control list.  path points to a path name
      of a file.

      Similarly, fgetacl() returns a complete listing of all ACL entries for
      an open file known by the file descriptor fildes.

      nentries is the number of entries being reported on, and is never more
      than the constant NACLENTRIES defined in <sys/acl.h>.  If nentries is
      non-zero, it must be at least as large as the number of entries in the
      file's ACL, including base entries (see setacl(2)).  getacl() returns
      the number of entries in the file's ACL, as well as the ACL entries
      themselves in the array of structures acl declared by the calling
      program.

      If nentries is zero, getacl() returns the number of entries in the
      file's ACL, including base ACL entries, and acl is ignored.

      Entries are reported in groups of decreasing order of specificity (see
      setacl(2)), then sorted in each group by user ID and group ID.  The
      content of array entries beyond the number of defined entries for the
      file is undefined.

 RETURN VALUE
      Upon successful completion, getacl() and fgetacl() return a non-
      negative value.  If an error occurs, a value of -1 is returned, and
      errno is set to indicate the error.

 ERRORS
      getacl() or fgetacl() fail to modify the acl array if any of the
      following is true:

	   [ENOTDIR]	  A component of the path prefix is not a directory.





 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 getacl(2)							   getacl(2)




	   [ENOENT]	  The named file does not exist (for example, path
			  is null or a component of path does not exist).

	   [EBADF]	  fildes is not a valid file descriptor.

	   [EACCES]	  A component of the path prefix denies search
			  permission.

	   [EFAULT]	  path or a portion of acl to be written points
			  outside the allocated address space of the
			  process.

	   [EINVAL]	  nentries is non-zero and less than the number of
			  entries in the file's ACL, or it is greater than
			  NACLENTRIES.

	   [EOPNOTSUPP]	  getacl() is not supported on remote files by some
			  networking services.

	   [ENOSYS]	  The function is not supported by this file system
			  type.

	   [ENFILE]	  The system file table is full.

	   [ENAMETOOLONG] The length of path exceeds PATH_MAX bytes, or the
			  length of a component of path exceeds NAME_MAX
			  bytes while _POSIX_NO_TRUNC is in effect.

	   [ELOOP]	  Too many symbolic links were encountered in
			  translating the path name.

 EXAMPLES
      The following call returns the number of entries in the ACL on file
      /users/bill/mcfile.

	   #include <&lt&lt&lt;sys/acl.h>&gt&gt&gt;

	   entries = getacl ("/users/bill/mcfile", 0, (struct acl_entry *) 0);

      The following call returns in acl all entries in the ACL on the file
      opened with file descriptor 5.

	   #include <&lt&lt&lt;sys/acl.h>&gt&gt&gt;

	   int nentries;
	   struct acl_entry acl [NACLENTRIES];

	   entries = fgetacl (5, NACLENTRIES, acl);

 DEPENDENCIES
      getacl() and fgetacl() are only supported on HFS file system on



 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 getacl(2)							   getacl(2)




      standard HP-UX operating system.

 AUTHOR
      getacl() and fgetacl() were developed by HP.

 SEE ALSO
      access(2), chmod(2), getaccess(2), setacl(2), stat(2), unistd(5).















































 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000