OpenAFS
OpenAFS distributed network file system
Path IOCTL functions

DECL_PIOCTL is a macro defined to contain the following parameters for functions: More...

Functions

 DECL_PIOCTL (PGetFID)
 VIOCGETFID (22) - Get file ID quickly.
int dummy_PSetAcl (char *ain, char *aout)
 VIOCSETAL (1) - Set access control list.
 DECL_PIOCTL (PStoreBehind)
 VIOC_STOREBEHIND (47) Adjust store asynchrony.
 DECL_PIOCTL (PGCPAGs)
 VIOC_GCPAGS (48) - Disable automatic PAG gc'ing.
 DECL_PIOCTL (PGetAcl)
 VIOCGETAL (2) - Get access control list.
 DECL_PIOCTL (PNoop)
 PNoop returns success.
 DECL_PIOCTL (PBogus)
 PBogus returns fail.
 DECL_PIOCTL (PGetFileCell)
 VIOC_FILE_CELL_NAME (30) - Get cell in which file lives.
 DECL_PIOCTL (PGetWSCell)
 VIOC_GET_WS_CELL (31) - Get cell in which workstation lives.
 DECL_PIOCTL (PGetUserCell)
 VIOC_GET_PRIMARY_CELL (33) - Get primary cell for caller.
 DECL_PIOCTL (PSetTokens)
 VIOCSETTOK (3) - Set authentication tokens.
 DECL_PIOCTL (PGetVolumeStatus)
 VIOCGETVOLSTAT (4) - Get volume status.
 DECL_PIOCTL (PSetVolumeStatus)
 VIOCSETVOLSTAT (5) - Set volume status.
 DECL_PIOCTL (PFlush)
 VIOCFLUSH (6) - Invalidate cache entry.
 DECL_PIOCTL (PNewStatMount)
 VIOC_AFS_STAT_MT_PT (29) - Stat mount point.
 DECL_PIOCTL (PGetTokens)
 VIOCGETTOK (8) - Get authentication tokens.
 DECL_PIOCTL (PUnlog)
 VIOCUNLOG (9) - Invalidate tokens.
 DECL_PIOCTL (PMariner)
 VIOC_AFS_MARINER_HOST (32) - Get/set mariner (cache manager monitor) host.
 DECL_PIOCTL (PCheckServers)
 VIOCCKSERV (10) - Check that servers are up.
 DECL_PIOCTL (PCheckVolNames)
 VIOCCKBACK (11) - Check backup volume mappings.
 DECL_PIOCTL (PCheckAuth)
 VIOCCKCONN (12) - Check connections for a user.
 DECL_PIOCTL (PFindVolume)
 VIOCWHEREIS (14) - Find out where a volume is located.
 DECL_PIOCTL (PViceAccess)
 VIOCACCESS (20) - Access using PRS_FS bits.
 DECL_PIOCTL (PGetPAG)
 VIOC_GETPAG (13) - Get PAG value.
 DECL_PIOCTL (PSetCacheSize)
 VIOCSETCACHESIZE (24) - Set venus cache size in 1000 units.
 DECL_PIOCTL (PGetCacheSize)
 VIOCGETCACHEPARMS (40) - Get cache stats.
 DECL_PIOCTL (PRemoveCallBack)
 VIOCFLUSHCB (25) - Flush callback only.
 DECL_PIOCTL (PNewCell)
 VIOCNEWCELL (26) - Configure new cell.
 DECL_PIOCTL (PListCells)
 VIOCGETCELL (27) - Get cell info.
 DECL_PIOCTL (PRemoveMount)
 VIOC_AFS_DELETE_MT_PT (28) - Delete mount point.
 DECL_PIOCTL (PGetCellStatus)
 VIOC_GETCELLSTATUS (35) - Get cell status info.
 DECL_PIOCTL (PSetCellStatus)
 VIOC_SETCELLSTATUS (36) - Set corresponding info.
 DECL_PIOCTL (PFlushVolumeData)
 VIOC_FLUSHVOLUME (37) - Flush whole volume's data.
 DECL_PIOCTL (PGetVnodeXStatus)
 VIOCGETVCXSTATUS (41) - gets vnode x status.
 DECL_PIOCTL (PSetSysName)
 VIOC_AFS_SYSNAME (38) - Change value.
 DECL_PIOCTL (PExportAfs)
 VIOC_EXPORTAFS (39) - Export afs to nfs clients.
 DECL_PIOCTL (PGag)
 VIOC_GAG (44) - Silence Cache Manager.
 DECL_PIOCTL (PTwiddleRx)
 VIOC_TWIDDLE (45) - Adjust RX knobs.
 DECL_PIOCTL (PGetInitParams)
 VIOC_GETINITPARAMS (49) - Get initial cache manager parameters.
 DECL_PIOCTL (PGetRxkcrypt)
 VIOC_GETRXKCRYPT (55) - Get rxkad encryption flag.
 DECL_PIOCTL (PSetRxkcrypt)
 VIOC_SETRXKCRYPT (56) - Set rxkad encryption flag.
 DECL_PIOCTL (PGetCPrefs)
 VIOC_GETCPREFS (50) - Get client interface.
 DECL_PIOCTL (PSetCPrefs)
 VIOC_SETCPREFS (51) - Set client interface.
 DECL_PIOCTL (PFlushMount)
 VIOC_AFS_FLUSHMOUNT (52) - Flush mount symlink data.
 DECL_PIOCTL (PRxStatProc)
 VIOC_RXSTAT_PROC (53) - Control process RX statistics.
 DECL_PIOCTL (PRxStatPeer)
 VIOC_RXSTAT_PEER (54) - Control peer RX statistics.

Detailed Description

DECL_PIOCTL is a macro defined to contain the following parameters for functions:

Parameters:
[in]avcthe AFS vcache structure in use by pioctl
[in]afunnot in use
[in]areqthe AFS vrequest structure
[in]ainan afs_pdata block describing the data received from the caller
[in]aoutan afs_pdata block describing a pre-allocated block for output
[in]acredUNIX credentials structure underlying the operation

Function Documentation

DECL_PIOCTL ( PGetFID  )

VIOCGETFID (22) - Get file ID quickly.

Parameters:
[in]ainnot in use
[out]aoutfid of requested file
Return values:
EINVALError if some of the initial arguments aren't set
Postcondition:
get the file id of some file
DECL_PIOCTL ( PRxStatPeer  )

VIOC_RXSTAT_PEER (54) - Control peer RX statistics.

Parameters:
[in]ainthe flags that control which statistics to use
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
EINVALError if the flag input is too long
Postcondition:
either enable peer RPCStatws, disable peer RPCStats, or clear the peer RPCStats
DECL_PIOCTL ( PRxStatProc  )

VIOC_RXSTAT_PROC (53) - Control process RX statistics.

Parameters:
[in]ainthe flags that control which stats to use
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
EINVALError if the flag input is too long
Postcondition:
either enable process RPCStats, disable process RPCStats, or clear the process RPCStats
DECL_PIOCTL ( PFlushMount  )

VIOC_AFS_FLUSHMOUNT (52) - Flush mount symlink data.

Parameters:
[in]ainthe last part of a path to a mount point, which tells us what to flush
[out]aoutnot in use
Return values:
EINVALError if some of the initial arguments aren't set
ENOTDIRError if the initial argument for the mount point isn't a directory
ENOENTError if the dcache entry isn't set
Postcondition:
remove all of the mount data from the dcache regarding a certain mount point
DECL_PIOCTL ( PSetCPrefs  )

VIOC_SETCPREFS (51) - Set client interface.

Parameters:
[in]ainthe interfaces you want set
[out]aoutnot in use
Return values:
EIOError if the afs daemon hasn't started yet
EINVALError if the input is too large for the struct
ENOMEMError if there are too many servers
Postcondition:
set the callbak interfaces addresses to those of the hosts
DECL_PIOCTL ( PGetCPrefs  )

VIOC_GETCPREFS (50) - Get client interface.

Parameters:
[in]ainsprefrequest input
[out]aoutspref information
Return values:
EIOError if the afs daemon hasn't started yet
EINVALError if some of the standard args aren't set
Postcondition:
get all interface addresses and other information of the client interface
DECL_PIOCTL ( PSetRxkcrypt  )

VIOC_SETRXKCRYPT (56) - Set rxkad encryption flag.

Parameters:
[in]ainthe argument whether or not things should be encrypted
[out]aoutnot in use
Return values:
EPERMError if the user doesn't have super-user credentials
EINVALError if the input is too big, or if the input is outside the bounds of what it can be set to
Postcondition:
set whether or not things should be encrypted

may need to be modified at a later date to take into account other values for cryptall (beyond true or false)

DECL_PIOCTL ( PGetRxkcrypt  )

VIOC_GETRXKCRYPT (55) - Get rxkad encryption flag.

Parameters:
[in]ainnot in use
[out]aoutvalue of cryptall
Postcondition:
Turns on, or disables, rxkad encryption by setting the cryptall global
DECL_PIOCTL ( PGetInitParams  )

VIOC_GETINITPARAMS (49) - Get initial cache manager parameters.

Parameters:
[in]ainnot in use
[out]aoutinitial cache manager params
Return values:
E2BIGError if the initial parameters are bigger than some PIGGYSIZE
Postcondition:
return the initial cache manager parameters
DECL_PIOCTL ( PTwiddleRx  )

VIOC_TWIDDLE (45) - Adjust RX knobs.

Parameters:
[in]ainthe previous settings of the 'knobs'
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
Postcondition:
build out the struct rxp, from a struct rx
DECL_PIOCTL ( PGag  )

VIOC_GAG (44) - Silence Cache Manager.

Parameters:
[in]ainthe flags to either gag or de-gag the cache manager
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
Postcondition:
set the gag flags, then show these flags
DECL_PIOCTL ( PExportAfs  )

VIOC_EXPORTAFS (39) - Export afs to nfs clients.

Parameters:
[in]ainan integer containing the desired exportee flags
[out]aoutan integer containing the current exporter flags
Return values:
ENODEVError if the exporter doesn't exist
EACCESError if the user doesn't have super-user credentials
Postcondition:
Changes the state of various values to reflect the change of the export values between nfs and afs.

Legacy code obtained from IBM.

DECL_PIOCTL ( PSetSysName  )

VIOC_AFS_SYSNAME (38) - Change value.

Parameters:
[in]ainnew value for
[out]aoutcount, entry, list (debug values?)
Return values:
EINVALError if afsd isn't running, the new sysname is too large, the new sysname causes issues (starts with a . or ..), there is no PAG set in the credentials, or the user of a PAG can't be found
EACCESError if the user doesn't have super-user credentials
Postcondition:
Set the value of if these things work: if the input isn't too long or if input doesn't start with . or ..

We require root for local sysname changes, but not for remote (since we don't really believe remote uids anyway) outname[] shouldn't really be needed- this is left as an exercise for the reader.

DECL_PIOCTL ( PGetVnodeXStatus  )

VIOCGETVCXSTATUS (41) - gets vnode x status.

Parameters:
[in]ainnot in use (avc used)
[out]aoutvcxstat: the file id, the data version, any lock, the parent vnode, the parent unique id, the trunc position, the callback, cbExpires, what access is being made, what files are open, any users executing/writing, the flock count, the states, the move stat
Return values:
EINVALError if some of the initial default arguments aren't set
EACCESError if access to check the mode bits is denied
Postcondition:
gets stats for the vnode, a struct listed in vcxstat
DECL_PIOCTL ( PFlushVolumeData  )

VIOC_FLUSHVOLUME (37) - Flush whole volume's data.

Parameters:
[in]ainnot in use (args in avc)
[out]aoutnot in use
Return values:
EINVALError if some of the standard args aren't set
EIOError if the afs daemon hasn't started yet
Postcondition:
Flush all cached contents of a volume. Exactly what stays and what goes depends on the platform.

Does not flush a file that a user has open and is using, because it will be re-created on next write. Also purges the dnlc, because things are screwed up.

DECL_PIOCTL ( PGCPAGs  )

VIOC_GCPAGS (48) - Disable automatic PAG gc'ing.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
Postcondition:
set the gcpags to GCPAGS_USERDISABLED
DECL_PIOCTL ( PGetCellStatus  )

VIOC_GETCELLSTATUS (35) - Get cell status info.

Parameters:
[in]ainThe cell you want status information on
[out]aoutcell state (as a struct)
Return values:
EIOError if the afs daemon hasn't started yet
ENOENTError if the cell doesn't exist
Postcondition:
Returns the state of the cell as defined in a struct cell
DECL_PIOCTL ( PRemoveMount  )

VIOC_AFS_DELETE_MT_PT (28) - Delete mount point.

Parameters:
[in]ainthe name of the file in this dir to remove
[out]aoutnot in use
Return values:
EINVALError if some of the standard args aren't set
ENOTDIRError if the argument to remove is not a directory
ENOENTError if there is no cache to remove the mount point from or if a vcache doesn't exist
Postcondition:
Ensure that everything is OK before deleting the mountpoint. If not, don't delete. Delete a mount point based on a file id.
DECL_PIOCTL ( PListCells  )

VIOCGETCELL (27) - Get cell info.

Parameters:
[in]ainThe cell index of a specific cell
[out]aoutlist of servers in the cell
Return values:
EIOError if the afs daemon hasn't started yet
EDOMError if there is no cell asked about
Postcondition:
Lists the cell's server names and and addresses
DECL_PIOCTL ( PNewCell  )

VIOCNEWCELL (26) - Configure new cell.

Parameters:
[in]ainthe name of the cell, the hosts that will be a part of the cell, whether or not it's linked with another cell, the other cell it's linked with, the file server port, and the volume server port
[out]aoutnot in use
Return values:
EIOError if the afs daemon hasn't started yet
EACCESError if the user doesn't have super-user cedentials
EINVALError if some 'magic' var doesn't have a certain bit set
Postcondition:
creates a new cell
DECL_PIOCTL ( PRemoveCallBack  )

VIOCFLUSHCB (25) - Flush callback only.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EINVALError if some of the standard args aren't set
00 returned if the volume is set to read-only
Postcondition:
Flushes callbacks, by setting the length of callbacks to one, setting the next callback to be sent to the CB_DROPPED value, and then dequeues everything else.
DECL_PIOCTL ( PGetCacheSize  )

VIOCGETCACHEPARMS (40) - Get cache stats.

Parameters:
[in]ainafs index flags
[out]aoutcache blocks, blocks used, blocks files (in an array)
Postcondition:
Get the cache blocks, and how many of the cache blocks there are
DECL_PIOCTL ( PSetCacheSize  )

VIOCSETCACHESIZE (24) - Set venus cache size in 1000 units.

Parameters:
[in]ainthe size the venus cache should be set to
[out]aoutnot in use
Return values:
EACCESError if the user doesn't have super-user credentials
EROFSError if the cache is set to be in memory
Postcondition:
Set the cache size based on user input. If no size is given, set it to the default OpenAFS cache size.

recompute the general cache parameters for every single block allocated

DECL_PIOCTL ( PGetPAG  )

VIOC_GETPAG (13) - Get PAG value.

Parameters:
[in]ainnot in use
[out]aoutPAG value or NOPAG
Postcondition:
get PAG value for the caller's cred
DECL_PIOCTL ( PViceAccess  )

VIOCACCESS (20) - Access using PRS_FS bits.

Parameters:
[in]ainPRS_FS bits
[out]aoutnot in use
Return values:
EINVALError if some of the initial arguments aren't set
EACCESError if access is denied
Postcondition:
check to make sure access is allowed
DECL_PIOCTL ( PFindVolume  )

VIOCWHEREIS (14) - Find out where a volume is located.

Parameters:
[in]ainnot in use
[out]aoutvolume location
Return values:
EINVALError if some of the default arguments don't exist
ENODEVError if there is no such volume
Postcondition:
fine a volume, based on a volume file id

check each of the servers specified

DECL_PIOCTL ( PCheckAuth  )

VIOCCKCONN (12) - Check connections for a user.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EACCESSError if no user is specififed, the user has no tokens set, or if the user's tokens are bad
Postcondition:
check to see if a user has the correct authentication. If so, allow access.

Check the connections to all the servers specified

DECL_PIOCTL ( PCheckVolNames  )

VIOCCKBACK (11) - Check backup volume mappings.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EIOError if the afs daemon hasn't started yet
Postcondition:
Check the root volume, and then check the names if the volume check variable is set to force, has expired, is busy, or if the mount points variable is set
DECL_PIOCTL ( PCheckServers  )

VIOCCKSERV (10) - Check that servers are up.

Parameters:
[in]ainname of the cell
[out]aoutcurrent down server list
Return values:
EIOError if the afs daemon hasn't started yet
EACCESError if the user doesn't have super-user credentials
ENOENTError if we are unable to obtain the cell
Postcondition:
Either a fast check (where it doesn't contact servers) or a local check (checks local cell only)
DECL_PIOCTL ( PMariner  )

VIOC_AFS_MARINER_HOST (32) - Get/set mariner (cache manager monitor) host.

Parameters:
[in]ainhost address to be set
[out]aoutold host address
Postcondition:
depending on whether or not a variable is set, either get the host for the cache manager monitor, or set the old address and give it a new address

Errors turn off mariner

DECL_PIOCTL ( PUnlog  )

VIOCUNLOG (9) - Invalidate tokens.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EIOError if the afs daemon hasn't been started yet
Postcondition:
remove tokens from a user, specified by the user id

sets the token's time to 0, which then causes it to be removed Unlog is the same as un-pag in OpenAFS

DECL_PIOCTL ( PGetFileCell  )

VIOC_FILE_CELL_NAME (30) - Get cell in which file lives.

Parameters:
[in]ainnot in use (avc used to pass in file id)
[out]aoutcell name
Return values:
EINVALError if some of the standard args aren't set
ESRCHError if the file isn't part of a cell
Postcondition:
Get a cell based on a passed in file id
DECL_PIOCTL ( PNewStatMount  )

VIOC_AFS_STAT_MT_PT (29) - Stat mount point.

Parameters:
[in]ainthe last component in a path, related to mountpoint that we're looking for information about
[out]aoutvolume, cell, link data
Return values:
EINVALError if some of the standard args aren't set
ENOTDIRError if the 'mount point' argument isn't a directory
EIOError if the link data can't be accessed
Postcondition:
Get the volume, and cell, as well as the link data for a mount point
DECL_PIOCTL ( PFlush  )

VIOCFLUSH (6) - Invalidate cache entry.

Parameters:
[in]ainnot in use
[out]aoutnot in use
Return values:
EINVALError if some of the standard args aren't set
Postcondition:
Flush any information the cache manager has on an entry
DECL_PIOCTL ( PSetVolumeStatus  )

VIOCSETVOLSTAT (5) - Set volume status.

Parameters:
[in]ainvalues to set the status at, offline message, message of the day, volume name, minimum quota, maximum quota
[out]aoutstatus of a volume, offlines messages, minimum quota, maximumm quota
Return values:
EINVALError if some of the standard args aren't set
EROFSError if the volume is read only, or a backup volume
ENODEVError if the volume can't be accessed
E2BIGError if the volume name, offline message, and motd are too big
Postcondition:
Set the status of a volume, including any offline messages, a minimum quota, and a maximum quota
DECL_PIOCTL ( PGetVolumeStatus  )

VIOCGETVOLSTAT (4) - Get volume status.

Parameters:
[in]ainnot in use
[out]aoutstatus of the volume
Return values:
EINVALError if some of the standard args aren't set
Postcondition:
The status of a volume (based on the FID of the volume), or an offline message /motd
DECL_PIOCTL ( PSetTokens  )

VIOCSETTOK (3) - Set authentication tokens.

Parameters:
[in]ainthe krb tickets from which to set the afs tokens
[out]aoutnot in use
Return values:
EINVALError if the ticket is either too long or too short
EIOError if the AFS initState is below 101
ESRCHError if the cell for which the Token is being set can't be found
Postcondition:
Set the Tokens for a specific cell name, unless there is none set, then default to primary
DECL_PIOCTL ( PGetUserCell  )

VIOC_GET_PRIMARY_CELL (33) - Get primary cell for caller.

Parameters:
[in]ainnot in use (user id found via areq)
[out]aoutcell name
Return values:
ESRCHError if the user id doesn't have a primary cell specified
Postcondition:
Get the primary cell for a certain user, based on the user's uid
DECL_PIOCTL ( PGetWSCell  )

VIOC_GET_WS_CELL (31) - Get cell in which workstation lives.

Parameters:
[in]ainnot in use
[out]aoutcell name
Return values:
EIOError if the afs daemon hasn't started yet
ESRCHError if the machine isn't part of a cell, for whatever reason
Postcondition:
Get the primary cell that the machine is a part of.
DECL_PIOCTL ( PGetTokens  )

VIOCGETTOK (8) - Get authentication tokens.

Parameters:
[in]aincellid to return tokens for
[out]aouttoken
Return values:
EIOError if the afs daemon hasn't started yet
EDOMError if the input parameter is out of the bounds of the available tokens
ENOTCONNError if there aren't tokens for this cell
Postcondition:
If the input paramater exists, get the token that corresponds to the parameter value, if there is no token at this value, get the token for the first cell

"it's a weird interface (from comments in the code)"

DECL_PIOCTL ( PBogus  )

PBogus returns fail.

Used for functions which are not implemented or are no longer in use.

Return values:
EINVALAlways returns this value

Functions involved in this: 0 (?); 4 (?); 6 (?); 7 (VIOCSTAT); 8 (?); 13 (VIOCGETTIME) -- used to be quick check time; 15 (VIOCPREFETCH) -- prefetch is now special-cased; see pioctl code!; 16 (VIOCNOP) -- used to be testing code; 19 (VIOCLISTGROUPS) -- used to be list group; 23 (VIOCWAITFOREVER) -- used to be waitforever; 57 (VIOC_FPRIOSTATUS) -- arla: set file prio; 58 (VIOC_FHGET) -- arla: fallback getfh; 59 (VIOC_FHOPEN) -- arla: fallback fhopen; 60 (VIOC_XFSDEBUG) -- arla: controls xfsdebug; 61 (VIOC_ARLADEBUG) -- arla: controls arla debug; 62 (VIOC_AVIATOR) -- arla: debug interface; 63 (VIOC_XFSDEBUG_PRINT) -- arla: print xfs status; 64 (VIOC_CALCULATE_CACHE) -- arla: force cache check; 65 (VIOC_BREAKCELLBACK) -- arla: break callback; 68 (?) -- arla: fetch stats;

DECL_PIOCTL ( PNoop  )

PNoop returns success.

Used for functions which are not implemented or are no longer in use.

Return values:
Alwaysreturns success

Functions involved in this: 17 (VIOCENGROUP) -- used to be enable group; 18 (VIOCDISGROUP) -- used to be disable group; 2 (?) -- get/set cache-bypass size threshold

DECL_PIOCTL ( PGetAcl  )

VIOCGETAL (2) - Get access control list.

Parameters:
[in]ainnot in use
[out]aoutthe ACL
Return values:
EINVALError if some of the standard args aren't set
ERANGEError if the vnode of the file id is too large
-1Error if getting the ACL failed
Postcondition:
Obtain the ACL, based on file ID

There is a hack to tell which type of ACL is being returned, checks the top 2-bytes of the input size to judge what type of ACL it is, only for dfs xlator ACLs

DECL_PIOCTL ( PSetCellStatus  )

VIOC_SETCELLSTATUS (36) - Set corresponding info.

Parameters:
[in]ainThe cell you want to set information about, and the values you want to set
[out]aoutnot in use
Return values:
EIOError if the afs daemon hasn't started yet
EACCESError if the user doesn't have super-user credentials
Postcondition:
Set the state of the cell in a defined struct cell, based on whether or not SetUID is allowed
DECL_PIOCTL ( PStoreBehind  )

VIOC_STOREBEHIND (47) Adjust store asynchrony.

Parameters:
[in]ainsbstruct (store behind structure) input
[out]aoutresulting sbstruct
Return values:
EPERMError if the user doesn't have super-user credentials
EACCESError if there isn't enough access to not check the mode bits
Postcondition:
Changes either the default asynchrony (the amount of data that can remain to be written when the cache manager returns control to the user), or the asyncrony for the specified file.
int dummy_PSetAcl ( char *  ain,
char *  aout 
)

VIOCSETAL (1) - Set access control list.

Parameters:
[in]ainthe ACL being set
[out]aoutthe ACL being set returned
Return values:
EINVALError if some of the standard args aren't set
Postcondition:
Changed ACL, via direct writing to the wire
 All Data Structures Files Functions Variables