AFS
view release on metacpan or search on metacpan
pod/v2/afsperlpts.pod view on Meta::CPAN
&AFS::PRUSER create a user
=item B<$ok = $pts-E<gt>PR_RemoveFromGroup(UID, GID);>
Removes the given AFS id UID from the group identified by GID.
=item B<$ok = $pts-E<gt>PR_SetFieldsEntry(ID, MASK, FLAGS, NGROUPS, NUSERS, S1, S2);>
This method allows a caller to change one or more fields within the
PDB entry matching the given user ID. The MASK argument is used to
select which fields are to be changed. Depending on what has been
selected, the values placed in the argument fLAGS (setting the flag
bits), NGROUPS (setting the group creation limit), and/or NUSERS
(setting the foreign user limit) are inserted into the PDB entry. The
remaining two arguments, S1 and S2, are not referenced, and are
reserved for future expansion.
=item B<$ok = $pts-E<gt>PR_SetMax(ID, GFLAG);>
Sets the value of either the highestÂallocated AFS user or group to
ID. The GFLAG argument is set to a nonÂzero value if the given ID is
for a group, and to zero for an individual user.
pod/v2/afsperlvldb.pod view on Meta::CPAN
$ok = $vldb->syncserv('server1', '/vicepa');
$ok = $vldb->syncvldb('server1', '/vicepa');
$ok = $vldb->syncvldbentry('volume');
=head1 DESCRIPTION
This class is used to communicate with the B<AFS Volume Location
Server> in order to maintain and to administer the Volume Location
Database (VLDB) maintained by the Volume Location Server. The VLDB is
used to allow AFS application programs to discover the location of any
volume within its cell, along with select information about the nature
and state of that volume. This class provides methods to lookup for
volumes or to lock/unlock them in the DB. It is used to remove and to
list DB entries, and to synchronize the VLDB against the AFS
partitions.
Before you can access any VLDB records you must establish a connection
to the Volume Location Server. This is done by the constructor method
I<new> which returns a VLDB object. A VLDB object is essentially a
handle to talk to the Volume Location Server in a given cell. Such a
VLDB object is required before any of the other VLDB instance methods
buffer = (char *) safemalloc(blksize);
if (!buffer) {
char buf[256];
sprintf(buf, "malloc failed\n");
VSETCODE(-1, buf);
return -1;
}
while (!error && !done) {
#ifndef AFS_NT40_ENV /* NT csn't select on non-socket fd's */
fd_set in;
FD_ZERO(&in);
FD_SET((long) (ufd->handle), &in);
/* don't timeout if read blocks */
#ifdef AFS_PTHREAD_ENV
select(((long) (ufd->handle)) + 1, &in, 0, 0, 0);
#else
IOMGR_Select(((long) (ufd->handle)) + 1, &in, 0, 0, 0);
#endif /* AFS_PTHREAD_ENV*/
#endif
error = USD_READ(ufd, buffer, blksize, &nbytes);
if (error) {
char buf[256];
sprintf(buf, "File system read failed\n");
VSETCODE(error, buf);
break;
buffer = (char *) safemalloc(blksize);
if (!buffer) {
char buf[256];
sprintf(buf, "memory allocation failed\n");
VSETCODE(-1, buf);
ERROR_EXIT(-1);
}
while ((bytesread = rx_Read(call, buffer, blksize)) > 0) {
for (bytesleft = bytesread; bytesleft; bytesleft -= w) {
#ifndef AFS_NT40_ENV /* NT csn't select on non-socket fd's */
fd_set out;
FD_ZERO(&out);
FD_SET((long) (ufd->handle), &out);
/* don't timeout if write blocks */
#ifdef AFS_PTHREAD_ENV
select(((long) (ufd->handle)) + 1, 0, &out, 0, 0);
#else
IOMGR_Select(((long) (ufd->handle)) + 1, 0, &out, 0, 0);
#endif /* AFS_PTHREAD_ENV*/
#endif
error = USD_WRITE(ufd, &buffer[bytesread - bytesleft], bytesleft, &w);
if (error) {
char buf[256];
sprintf(buf, "File system write failed\n");
VSETCODE(-1, buf);
ERROR_EXIT(-1);
src/inc/Test/Builder.pm view on Meta::CPAN
_autoflush(\*TESTERR);
_autoflush(\*STDERR);
$CLASS->output(\*TESTOUT);
$CLASS->failure_output(\*TESTERR);
$CLASS->todo_output(\*TESTOUT);
}
sub _autoflush {
my($fh) = shift;
my $old_fh = select $fh;
$| = 1;
select $old_fh;
}
sub current_test {
my($self, $num) = @_;
lock($Curr_Test);
if( defined $num ) {
unless( $Have_Plan ) {
( run in 0.591 second using v1.01-cache-2.11-cpan-49f99fa48dc )