view release on metacpan or search on metacpan
examples/v2/bos/shutdown view on Meta::CPAN
die "Usage: $0 server instances [wait [cell]]\n" if $#ARGV < 1;
$nargs = $#ARGV;
$server = shift;
$instance = shift if $nargs > 0;
$wait = shift if $nargs > 1;
$cellname = shift if $nargs > 2;
#warn ">$server< >$instance< >$wait< >$cellname< \n";
if ($instance eq '') { undef $instance; }
if (defined $instance and $instance =~ / /) { @instance = split / /, $instance; }
if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;
if (@instance and defined $wait) { $ok = $bos->shutdown(\@instance, $wait); }
elsif (@instance) { $ok = $bos->shutdown(\@instance); }
elsif ($instance and defined $wait) { $ok = $bos->shutdown($instance, $wait); }
elsif ($instance) { $ok = $bos->shutdown($instance); }
examples/v2/bos/startup view on Meta::CPAN
die "Usage: $0 server instances [cell]\n" if $#ARGV < 0;
$nargs = $#ARGV;
$server = shift;
$instance = shift if $nargs > 0;
$cellname = shift if $nargs > 1;
#warn ">$server< >$instance< >$cellname< \n";
if ($instance eq '') { undef $instance; }
if (defined $instance and $instance =~ / /) { @instance = split / /, $instance; }
if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;
if (@instance) { $ok = $bos->startup(\@instance); }
elsif ($instance) { $ok = $bos->startup($instance); }
else { $ok = $bos->startup(); }
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
examples/v2/kas/GetToken view on Meta::CPAN
die "Usage: user\n" if ($#ARGV != 0);
raise_exception(1);
my $user = AFS::KTC_PRINCIPAL->new(shift);
$user->cell(localcell) if ($user ->cell eq'');
my $key = AFS::KTC_EKEY->ReadPassword($user->name."'s Password:");
my $kas = AFS::KAS->AuthServerConn(AFS::KTC_TOKEN->nulltoken, &AFS::KA_AUTHENTICATION_SERVICE);
my $auth_token = $kas->Authenticate($user->name, $user->instance, &AFS::KA_TICKET_GRANTING_SERVICE, $key, time, time+600);
undef $kas;
$kas = AFS::KAS->AuthServerConn($auth_token, &AFS::KA_TICKET_GRANTING_SERVICE);
my $service = AFS::KTC_PRINCIPAL->new("afs", "", localcell);
my $token = $kas->GetToken($service->name, $service->instance, time, time+600, $auth_token);
print "KAS afs-token: \n";
print "StartTime = ", ctime($token->startTime), "\n";
print "EndTime = ", ctime($token->endTime), "\n";
print "Kvno = ", $token->kvno, "\n";
print "TicketLen = ", $token->ticketLen, "\n";
pod/v2/afsperl.pod view on Meta::CPAN
B<Bernard Antoine> - for his bug report on a memory leak in the method
"AFS::ACL->retrieve".
B<Peter Scott> - for his bug report on a memory leak in the function
"getvolstats"
B<Peter Scott> - for his bug report on the function AFS::constant
B<Venkata Phani Achanta> - for his improved test drivers for several modules
B<David R. Boldt> - for his bug report on an undefined "typemap" entry
B<Alf Wachsmann> and B<Venkata Phani Achanta> - for their implementation
of the BOS, VOS, and VLDB modules
B<Phil Moore> - for his bug report on Itanium ia64 platform
B<Frank Burkhardt> and B<David Miller> - for their problem reports on
Perl "unthreaded" version within the Debian "unstable" distribution
B<Pierre-Yves Fontaniere> - for his configuration report for rs_aix51
pod/v2/afsperlbase.pod view on Meta::CPAN
If NEW is set to 1, then a Perl exception will be raised whenever
an error is returned from an AFS function call. This is used mainly for
debugging and testing.
=item B<$msg = error_message(NUM_CODE);>
Converts numeric code NUM_CODE into an error string.
=item B<$val = constant(NAME);>
Converts a constant NAME (i.e, #define) into scaler. Returns undef for
unknown constants.
=item B<$val = &AFS::CONSTANT;>
All values referenced through the constant function can be referenced as
functions in the AFS package. This is the preferred way of accessing
constants.
=back
pod/v2/afsperlcell.pod view on Meta::CPAN
=item B<$dir = configdir;>
=item B<$ok = configdir(DIR);>
Gets or sets the configuration directory for an AFS server/client
machine. Default is C</usr/vice/etc>.
=item B<$cellname = expandcell(CELL);>
Expands CELL to the fully qualified cellname. Returns undef on error.
=cut
# does not work properly, return value $cell is not set properly ???
# =item B<($cell, @servers) = getcell(INDEX [,IP]);>
# Displays the list of the database server machines that the Cache Manager
# stores in kernel memory for its home cell and foreign cells.
pod/v2/afsperlcell.pod view on Meta::CPAN
# set to 1 then IP addresses will be returned instead of hostnames.
# Displays each database server machine's IP address rather than hostname.
=item B<($cell @servers) = getcellinfo([CELL [,IP]]);>
Gets information on CELL (default NULL) using CellServDB. If IP (default
0) is set to 1 then IP addresses will be returned instead of hostnames.
=item B<$cellname = localcell;>
Returns the cellname of the local cell. Returns undef on error.
=item B<$cellname = whichcell(PATH [,FOLLOW]);>
Returns the name of the cell in which the volume that houses PATH
resides. Returns undef and sets CODE on error.
=item B<$cellname = wscell;>
Returns the name of the local machine's home cell.
=back
=head1 CURRENT AUTHOR
Norbert E. Gruener E<lt>nog@MPA-Garching.MPG.deE<gt>
pod/v2/afsperlfs.pod view on Meta::CPAN
=item B<$ok = isafs(PATH [,FOLLOW]);>
Returns 1 if PATH is in AFS.
=item B<$volume = lsmount(PATH [,FOLLOW]);>
Returns the volume name for which PATH is a mount point. The last
element in PATH must be an actual name, not a shorthand notation such
as one or two periods (. or ..). If PATH is not a mount point or is
not in AFS it returns undef and an error code is set.
=item B<$ok = mkmount(PATH, VOLUME [, RW [, CELL]]);>
Creates a given mount point PATH for the VOLUME. If RW (default 0) is
set to 1 it creates a read/write mount point otherwise a regular mount
point. If CELL (default NULL) is set, the cell indicator appears in the
mount point.
=item B<$ok = rmmount(PATH);>
pod/v2/afsperlktck.pod view on Meta::CPAN
my $key = AFS::KTC_EKEY->ReadPassword('Password:');
print 'KEY = ', $key->string, " \n";
my $string = AFS::KTC_EKEY->UserReadPassword('Password:');
$key = AFS::KTC_EKEY->StringToKey($string, localcell);
print 'KEY = ', $key->string, " \n";
$key = AFS::KTC_EKEY->des_string_to_key('aaa');
print 'KEY = ', $key->string, " \n";
undef $key;
=head1 DESCRIPTION
This class provides methods to handle the B<AFS structure ktc_encryptionkey>.
This structure represents an encryption key which is used in the I<Kernel
Token Cache> (KTC). The KTC is part of the Cache Manager. It is used to
create B<ktc_encryptionkey> instances.
=head1 COMPATIBILITY
pod/v2/afsperlktcp.pod view on Meta::CPAN
my $user = AFS::KTC_PRINCIPAL->new('nog', '', localcell);
print "name = ", $user->name, "\n";
print "instance = ", $user->instance, "\n";
print "cell = ", $user->cell, "\n";
print "principal = ", $user->principal, "\n";
$user->set("rjsnfs", "root", localcell);
print "principal = ", $user->principal, "\n";
undef $user;
my $index =0;
while( $service = AFS::KTC_PRINCIPAL->ListTokens($index)) {
print "\nToken Num = $index\n";
print "name = ", $service->name, "\n";
print "instance = ", $service->instance, "\n";
print "cell = ", $service->cell, "\n";
print "principal = ", $service->principal, "\n";
}
undef $service;
=head1 DESCRIPTION
This class provides methods to handle the B<AFS structure ktc_principal>.
This structure represents a principal which is used in the I<Kernel Token
Cache> (KTC). All entities on the network (users and services) are
called I<principals>. The KTC is part of the Cache Manager.
It is used to create, modify, and retrieve B<ktc_principal> instances.
It has methods to retrieve and to reset the B<KTC_principal>
pod/v2/afsperlktcp.pod view on Meta::CPAN
=item B<$princ = AFS::KTC_PRINCIPAL-E<gt>new(NAME.INSTANCE@CELL);>
Creates a new object of the class AFS::KTC_PRINCIPAL and sets its
values for NAME, INSTANCE and CELL.
=item B<$service = AFS::KTC_PRINCIPAL-E<gt>ListTokens(INDEX);>
Searches in the token cache for the INDEX+1th token. On success it
returns the corresponding principal instance $service and it
increments INDEX. If there is no INDEX+1th element AFS::CODE is set
and the return value is C<undef>. It calls the AFS system library
function 'ktc_ListTokens'.
=item B<CLASS METHODS>
=item S< >
=item B<($name, $instance, $cell) = AFS::KTC_PRINCIPAL-E<gt>ParseLoginName(LOGIN);>
Parses the string LOGIN. It defines a syntax to allow a user to
specify his identity in terms of his name, instance and cell with a
pod/v2/afsperlpts.pod view on Meta::CPAN
my $flags = AFS::PTS->ptsaccess2ascii($bits);
my $pts = AFS::PTS->new;
my $id = $pts->createuser('guest');
my $entry = $pts->listentry('guest');
foreach my $key ( sort keys %$entry) {
printf("%20s => %s\n", $key, $$entry{$key});
}
$ok = $pts->delete('guest');
undef $pts; # destroy server connection
$pts = AFS::PTS->new;
$entry = $pts->dumpentry(67136, 1, 1);
foreach my $key ( sort keys %$entry) {
printf("%20s => %s\n", $key, $$entry{$key});
}
my $over = 1;
my @names = $pts->getcps('nog', 1, $over);
print "OVER = $over \n";
pod/v2/afsperlpts.pod view on Meta::CPAN
=item B<$idref = $pts-E<gt>id(\%NAME [, ANON]]);>
Converts the NAME into a AFS id. The first method returns a single
id. The second method takes a reference to an array of names and
returns an array of ids. The third method takes a reference to a hash
table, the keys of which are names, and returns a reference to the
B<same hash>, with the ids as the value of each key.
If ANON is 1 (default) and a given name does not map into an id then
the value &AFS::ANONYMOUSID will be returned. If ANON is 0 then the id
will be set to undef. It calls the AFS system library function
'PR_NameToID'.
=item B<$ok = $pts-E<gt>ismember(NAME, GROUP);>
Returns a non-zero value if NAME is a member of GROUP. It calls the
AFS system library function 'PR_IsAMemberOf'.
=item B<$entry = $pts-E<gt>listentry(NAME [, LOOKUP_ID [, CONV]]);>
Returns a reference to a hash table containing the values from the C
pod/v2/afsperlpts.pod view on Meta::CPAN
=item B<$nameref = $pts-E<gt>name(ID [, ANON]]);>
Converts AFS ID into a name. The first method returns a single
name. The second method takes a reference to an array of ids and
returns an array of names. The third method takes a reference to a
hash table, the keys of which are ids, and returns a reference to the
B<same hash>, with the names as the value of each key. If ANON is 1
(default) and a given id does not map into a name then the id value
will be converted to a string (i.e, 11234 => "11234").
If ANON is 0 then the name will be set to undef. It calls the AFS
system library function 'PR_IDToName'.
=item B<@members = $pts-E<gt>owned(NAME [, LOOKUP_ID [, OVER]]);>
Returns a list of AFS ids owned by the given user or group NAME. If
NAME is 0, then the PDB orphan list is returned. There is also a
global orphan list, which contains entries for all orphans, namely
groups belonging to users that have been deleted from the PDB. If
LOOKUP_ID is 1 (default) then names will be returned. If the size of
the list is greater then &AFS::PR_MAXGROUPS then OVER will be set to a
#endif
#include "perl.h"
#include "XSUB.h"
#define NEED_newRV_noinc
#define NEED_sv_2pv_flags
#include "ppport.h"
#include <afs/param.h>
/* tired of seeing messages about TRUE/FALSE being redefined in rx/xdr.h */
#undef TRUE
#undef FALSE
#include <rx/xdr.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netdb.h>
#include <errno.h>
#include <stdio.h>
#include <netinet/in.h>
#include <sys/stat.h>
#undef INIT
#include <afs/stds.h>
#include <afs/afs.h>
#include <afs/vice.h>
#include <afs/venus.h>
#undef VIRTUE
#undef VICE
#include <afs/prs_fs.h>
#include <afs/afsint.h>
#include <afs/auth.h>
#include <afs/cellconfig.h>
#if defined(AFS_3_4)
#else
#include <afs/dirpath.h>
#endif
#include <ubik.h>
#ifndef MAXPATHLEN
#define MAXPATHLEN 1024
#endif
#define AFS_ASK 0
#define AFS_ABORT 1
#define AFS_FULL 2
#define AFS_INC 3
#ifdef AFS_PTHREAD_ENV
#undef clock_haveCurrentTime
#undef clock_UpdateTime
struct clock clock_now;
#endif /* AFS_PTHREAD_ENV*/
/* error handling macros */
#define ERROR_EXIT(code) {error=(code); goto error_exit;}
#define SETCODE(code) set_code(code)
#define BSETCODE(code, msg) bv_set_code(code, msg)
#define VSETCODE(code, msg) bv_set_code(code, msg)
vi.out = space;
code = pioctl(dir, VIOCGETVOLSTAT, &vi, follow);
SETCODE(code);
if (code == 0) {
stats = newHV();
if (parse_volstat(stats, space)) {
EXTEND(sp, 1);
PUSHs(sv_2mortal(newRV_noinc((SV *) stats)));
}
else {
hv_undef(stats);
}
}
}
void
fs_whereis(dir,ip=0,follow=1)
char * dir
int32 ip
int32 follow
PPCODE:
if (parse_acl(space, ph, nh)) {
AV *acl;
acl = newAV();
av_store(acl, 0, newRV_noinc((SV *) ph));
av_store(acl, 1, newRV_noinc((SV *) nh));
EXTEND(sp, 1);
PUSHs(sv_bless(sv_2mortal(newRV_noinc((SV *) acl)), gv_stashpv("AFS::ACL", 1)));
}
else {
hv_undef(ph);
hv_undef(nh);
}
}
}
int32
fs_setacl(dir,acl,follow=1)
char * dir
SV * acl
int32 follow
CODE:
}
else {
code = 0;
}
if (everWorked) {
XSRETURN(2);
}
else {
XSRETURN_EMPTY;
hv_undef(list);
}
}
int32
bos_getrestricted(self)
AFS::BOS self
CODE:
{
#ifdef BOS_RESTRICTED_MODE
int32 val, code;
code = ubik_Call(PR_NameToID, server, 0, &lnames, &lids);
SETCODE(code);
if (code == 0 && lids.idlist_val) {
hv_iterinit(hv);
i = 0;
while ((he = hv_iternext(hv))) {
key = hv_iterkey(he, &keylen);
id = lids.idlist_val[i];
if (id == ANONYMOUSID && !anon) {
safe_hv_store(hv, key, keylen, newSVsv(&PL_sv_undef), 0);
}
else {
safe_hv_store(hv, key, keylen, newSViv(id), 0);
}
i++;
}
if (lids.idlist_val)
free(lids.idlist_val);
}
if (lnames.namelist_val)
{
if (!SvROK(object)) {
int32 code, id;
char name[PR_MAXNAMELEN];
id = SvIV(object);
code = internal_pr_name(server, id, name);
SETCODE(code);
ST(0) = sv_newmortal();
if (code == 0) {
if (!anon && check_name_for_id(name, id)) {
/* return undef */
}
else {
sv_setpv(ST(0), name);
}
}
XSRETURN(1);
}
else if (SvTYPE(SvRV(object)) == SVt_PVAV) {
int32 code;
int i, len;
code = ubik_Call(PR_IDToName, server, 0, &lids, &lnames);
SETCODE(code);
if (code == 0 && lnames.namelist_val) {
hv_iterinit(hv);
i = 0;
while ((he = hv_iternext(hv))) {
key = hv_iterkey(he, &keylen);
name = lnames.namelist_val[i];
if (!anon && check_name_for_id(name, lids.idlist_val[i])) {
safe_hv_store(hv, key, keylen, newSVsv(&PL_sv_undef), 0);
}
else {
safe_hv_store(hv, key, keylen, newSVpv(name, strlen(name)), 0);
}
i++;
}
if (lnames.namelist_val)
free(lnames.namelist_val);
}
if (lids.idlist_val)
code = ubik_Call(KAM_GetEntry, server, 0, user, inst, KAMAJORVERSION, &entry);
SETCODE(code);
if (code == 0) {
HV *stats = newHV();
if (parse_kaentryinfo(stats, &entry)) {
EXTEND(sp, 1);
PUSHs(sv_2mortal(newRV_noinc((SV *) stats)));
}
else {
hv_undef(stats);
}
}
}
void
kas_KAM_Debug(server,version)
AFS::KAS server
int32 version
PPCODE:
{
code = ubik_Call(KAM_Debug, server, 0, version, 0, &entry);
SETCODE(code);
if (code == 0) {
HV *stats = newHV();
if (parse_ka_debugInfo(stats, &entry)) {
EXTEND(sp, 1);
PUSHs(sv_2mortal(newRV_noinc((SV *) stats)));
}
else {
hv_undef(stats);
}
}
}
void
kas_KAM_GetStats(server,version)
AFS::KAS server
int32 version
PPCODE:
{
if (code == 0) {
HV *stats = newHV();
HV *dstats = newHV();
if (parse_ka_getstats(stats, dstats, &kas, &kad)) {
EXTEND(sp, 3);
PUSHs(sv_2mortal(newSViv(admin_accounts)));
PUSHs(sv_2mortal(newRV_noinc((SV *) stats)));
PUSHs(sv_2mortal(newRV_noinc((SV *) dstats)));
}
else {
hv_undef(stats);
hv_undef(dstats);
}
}
}
void
kas_KAM_GetRandomKey(server)
AFS::KAS server
PPCODE:
{
int32 code;
EXTEND(sp, 1);
if (len == sizeof(struct ktc_token)) {
t = (struct ktc_token *) safemalloc(sizeof(struct ktc_token));
memcpy((void *) t, (void *) str, sizeof(struct ktc_token));
sv = sv_newmortal();
sv_setref_pv(sv, "AFS::KTC_TOKEN", (void *) t);
PUSHs(sv);
}
else {
PUSHs(&PL_sv_undef);
}
}
void
afs_ktc_SetToken(server,token,client,flags=0)
AFS::KTC_PRINCIPAL server
AFS::KTC_TOKEN token
AFS::KTC_PRINCIPAL client
int32 flags
PPCODE:
switch (name[2]) {
case 'S':
if (strEQ(name,"AFSCONF_FAILURE")) sv_setiv(ST(0),AFSCONF_FAILURE);
else if (strEQ(name,"AFSCONF_FULL")) sv_setiv(ST(0),AFSCONF_FULL);
else if (strEQ(name,"AFSCONF_NOCELL")) sv_setiv(ST(0),AFSCONF_NOCELL);
else if (strEQ(name,"AFSCONF_NODB")) sv_setiv(ST(0),AFSCONF_NODB);
else if (strEQ(name,"AFSCONF_NOTFOUND")) sv_setiv(ST(0),AFSCONF_NOTFOUND);
else if (strEQ(name,"AFSCONF_SYNTAX")) sv_setiv(ST(0),AFSCONF_SYNTAX);
else if (strEQ(name,"AFSCONF_UNKNOWN")) sv_setiv(ST(0),AFSCONF_UNKNOWN);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[2]) {
case 'O':
if (strEQ(name,"ANONYMOUSID")) sv_setiv(ST(0),ANONYMOUSID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'Y':
if (strEQ(name,"ANYUSERID")) sv_setiv(ST(0),ANYUSERID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
switch (name[2]) {
case 'T':
if (strEQ(name,"AUTHUSERID")) sv_setiv(ST(0),AUTHUSERID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
switch (name[1]) {
case 'O':
switch (name[2]) {
case 'S':
if (strEQ(name,"COSIZE")) sv_setiv(ST(0),COSIZE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'R':
switch (name[2]) {
case 'O':
if (strEQ(name,"CROSS_CELL")) sv_setiv(ST(0),CROSS_CELL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'K':
switch (name[1]) {
case 'A':
switch (name[2]) {
case 'A':
if (strEQ(name,"KAANSWERTOOLONG")) sv_setiv(ST(0),KAANSWERTOOLONG);
else if (strEQ(name,"KAASSOCUSER")) sv_setiv(ST(0),KAASSOCUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'B':
if (strEQ(name,"KABADARGUMENT")) sv_setiv(ST(0),KABADARGUMENT);
else if (strEQ(name,"KABADCMD")) sv_setiv(ST(0),KABADCMD);
else if (strEQ(name,"KABADCPW")) sv_setiv(ST(0),KABADCPW);
else if (strEQ(name,"KABADCREATE")) sv_setiv(ST(0),KABADCREATE);
else if (strEQ(name,"KABADINDEX")) sv_setiv(ST(0),KABADINDEX);
else if (strEQ(name,"KABADKEY")) sv_setiv(ST(0),KABADKEY);
else if (strEQ(name,"KABADNAME")) sv_setiv(ST(0),KABADNAME);
else if (strEQ(name,"KABADPROTOCOL")) sv_setiv(ST(0),KABADPROTOCOL);
else if (strEQ(name,"KABADREQUEST")) sv_setiv(ST(0),KABADREQUEST);
else if (strEQ(name,"KABADSERVER")) sv_setiv(ST(0),KABADSERVER);
else if (strEQ(name,"KABADTICKET")) sv_setiv(ST(0),KABADTICKET);
else if (strEQ(name,"KABADUSER")) sv_setiv(ST(0),KABADUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
if (strEQ(name,"KACLOCKSKEW")) sv_setiv(ST(0),KACLOCKSKEW);
else if (strEQ(name,"KACREATEFAIL")) sv_setiv(ST(0),KACREATEFAIL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
if (strEQ(name,"KADATABASEINCONSISTENT")) sv_setiv(ST(0),KADATABASEINCONSISTENT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
if (strEQ(name,"KAEMPTY")) sv_setiv(ST(0),KAEMPTY);
else if (strEQ(name,"KAEXIST")) sv_setiv(ST(0),KAEXIST);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'F':
if (strEQ(name,"KAFADMIN")) sv_setiv(ST(0),KAFADMIN);
else if (strEQ(name,"KAFASSOC")) sv_setiv(ST(0),KAFASSOC);
else if (strEQ(name,"KAFASSOCROOT")) sv_setiv(ST(0),KAFASSOCROOT);
else if (strEQ(name,"KAFFREE")) sv_setiv(ST(0),KAFFREE);
else if (strEQ(name,"KAFNEWASSOC")) sv_setiv(ST(0),KAFNEWASSOC);
else if (strEQ(name,"KAFNOCPW")) sv_setiv(ST(0),KAFNOCPW);
else if (strEQ(name,"KAFNORMAL")) sv_setiv(ST(0),KAFNORMAL);
else if (strEQ(name,"KAFNOSEAL")) sv_setiv(ST(0),KAFNOSEAL);
else if (strEQ(name,"KAFNOTGS")) sv_setiv(ST(0),KAFNOTGS);
else if (strEQ(name,"KAFOLDKEYS")) sv_setiv(ST(0),KAFOLDKEYS);
else if (strEQ(name,"KAFSPECIAL")) sv_setiv(ST(0),KAFSPECIAL);
else if (strEQ(name,"KAF_SETTABLE_FLAGS")) sv_setiv(ST(0),KAF_SETTABLE_FLAGS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
if (strEQ(name,"KAINTERNALERROR")) sv_setiv(ST(0),KAINTERNALERROR);
else if (strEQ(name,"KAIO")) sv_setiv(ST(0),KAIO);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'K':
if (strEQ(name,"KAKEYCACHEINVALID")) sv_setiv(ST(0),KAKEYCACHEINVALID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'L':
if (strEQ(name,"KALOCKED")) sv_setiv(ST(0),KALOCKED);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'M':
if (strEQ(name,"KAMAJORVERSION")) sv_setiv(ST(0),KAMAJORVERSION);
else if (strEQ(name,"KAMINORVERSION")) sv_setiv(ST(0),KAMINORVERSION);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
if (strEQ(name,"KANOAUTH")) sv_setiv(ST(0),KANOAUTH);
else if (strEQ(name,"KANOCELL")) sv_setiv(ST(0),KANOCELL);
else if (strEQ(name,"KANOCELLS")) sv_setiv(ST(0),KANOCELLS);
else if (strEQ(name,"KANOENT")) sv_setiv(ST(0),KANOENT);
else if (strEQ(name,"KANOKEYS")) sv_setiv(ST(0),KANOKEYS);
else if (strEQ(name,"KANORECURSE")) sv_setiv(ST(0),KANORECURSE);
else if (strEQ(name,"KANOTICKET")) sv_setiv(ST(0),KANOTICKET);
else if (strEQ(name,"KANOTSPECIAL")) sv_setiv(ST(0),KANOTSPECIAL);
else if (strEQ(name,"KANULLPASSWORD")) sv_setiv(ST(0),KANULLPASSWORD);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"KAOLDINTERFACE")) sv_setiv(ST(0),KAOLDINTERFACE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
if (strEQ(name,"KAPWEXPIRED")) sv_setiv(ST(0),KAPWEXPIRED);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'R':
if (strEQ(name,"KAREADPW")) sv_setiv(ST(0),KAREADPW);
else if (strEQ(name,"KAREUSED")) sv_setiv(ST(0),KAREUSED);
else if (strEQ(name,"KARXFAIL")) sv_setiv(ST(0),KARXFAIL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
if (strEQ(name,"KATOOMANYKEYS")) sv_setiv(ST(0),KATOOMANYKEYS);
else if (strEQ(name,"KATOOMANYUBIKS")) sv_setiv(ST(0),KATOOMANYUBIKS);
else if (strEQ(name,"KATOOSOON")) sv_setiv(ST(0),KATOOSOON);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
if (strEQ(name,"KAUBIKCALL")) sv_setiv(ST(0),KAUBIKCALL);
else if (strEQ(name,"KAUBIKINIT")) sv_setiv(ST(0),KAUBIKINIT);
else if (strEQ(name,"KAUNKNOWNKEY")) sv_setiv(ST(0),KAUNKNOWNKEY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"KA_ADMIN_INST")) sv_setpv(ST(0),KA_ADMIN_INST);
else if (strEQ(name,"KA_ADMIN_NAME")) sv_setpv(ST(0),KA_ADMIN_NAME);
else if (strEQ(name,"KA_AUTHENTICATION_SERVICE")) sv_setiv(ST(0),KA_AUTHENTICATION_SERVICE);
else if (strEQ(name,"KA_ISLOCKED")) sv_setiv(ST(0),KA_ISLOCKED);
else if (strEQ(name,"KA_MAINTENANCE_SERVICE")) sv_setiv(ST(0),KA_MAINTENANCE_SERVICE);
else if (strEQ(name,"KA_NOREUSEPW")) sv_setiv(ST(0),KA_NOREUSEPW);
else if (strEQ(name,"KA_REUSEPW")) sv_setiv(ST(0),KA_REUSEPW);
else if (strEQ(name,"KA_TGS_NAME")) sv_setpv(ST(0),KA_TGS_NAME);
else if (strEQ(name,"KA_TICKET_GRANTING_SERVICE")) sv_setiv(ST(0),KA_TICKET_GRANTING_SERVICE);
else if (strEQ(name,"KA_USERAUTH_DOSETPAG")) sv_setiv(ST(0),KA_USERAUTH_DOSETPAG);
else if (strEQ(name,"KA_USERAUTH_DOSETPAG2")) sv_setiv(ST(0),KA_USERAUTH_DOSETPAG2);
else if (strEQ(name,"KA_USERAUTH_VERSION")) sv_setiv(ST(0),KA_USERAUTH_VERSION);
else if (strEQ(name,"KA_USERAUTH_VERSION_MASK")) sv_setiv(ST(0),KA_USERAUTH_VERSION_MASK);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
switch (name[2]) {
case 'C':
if (strEQ(name,"KTC_TIME_UNCERTAINTY")) sv_setiv(ST(0),KTC_TIME_UNCERTAINTY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'M':
switch (name[1]) {
case 'A':
switch (name[2]) {
case 'X':
if (strEQ(name,"MAXKAKVNO")) sv_setiv(ST(0),MAXKAKVNO);
else if (strEQ(name,"MAXKTCNAMELEN")) sv_setiv(ST(0),MAXKTCNAMELEN);
else if (strEQ(name,"MAXKTCREALMLEN")) sv_setiv(ST(0),MAXKTCREALMLEN);
else if (strEQ(name,"MAXKTCTICKETLEN")) sv_setiv(ST(0),MAXKTCTICKETLEN);
else if (strEQ(name,"MAXKTCTICKETLIFETIME")) sv_setiv(ST(0),MAXKTCTICKETLIFETIME);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
switch (name[2]) {
case 'N':
if (strEQ(name,"MINKTCTICKETLEN")) sv_setiv(ST(0),MINKTCTICKETLEN);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[1]) {
case 'E':
switch (name[2]) {
case 'V':
if (strEQ(name,"NEVERDATE")) sv_setiv(ST(0),NEVERDATE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
switch (name[1]) {
case 'R':
switch (name[2]) {
case 'A':
if (strEQ(name,"PRACCESS")) sv_setiv(ST(0),PRACCESS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'B':
if (strEQ(name,"PRBADARG")) sv_setiv(ST(0),PRBADARG);
else if (strEQ(name,"PRBADID")) sv_setiv(ST(0),PRBADID);
else if (strEQ(name,"PRBADNAM")) sv_setiv(ST(0),PRBADNAM);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
if (strEQ(name,"PRCELL")) sv_setiv(ST(0),PRCELL);
else if (strEQ(name,"PRCONT")) sv_setiv(ST(0),PRCONT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
if (strEQ(name,"PRDBADDR")) sv_setiv(ST(0),PRDBADDR);
else if (strEQ(name,"PRDBBAD")) sv_setiv(ST(0),PRDBBAD);
else if (strEQ(name,"PRDBFAIL")) sv_setiv(ST(0),PRDBFAIL);
else if (strEQ(name,"PRDBVERSION")) sv_setiv(ST(0),PRDBVERSION);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
if (strEQ(name,"PREXIST")) sv_setiv(ST(0),PREXIST);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'F':
if (strEQ(name,"PRFOREIGN")) sv_setiv(ST(0),PRFOREIGN);
else if (strEQ(name,"PRFREE")) sv_setiv(ST(0),PRFREE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'G':
if (strEQ(name,"PRGROUPEMPTY")) sv_setiv(ST(0),PRGROUPEMPTY);
else if (strEQ(name,"PRGRP")) sv_setiv(ST(0),PRGRP);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
if (strEQ(name,"PRIDEXIST")) sv_setiv(ST(0),PRIDEXIST);
else if (strEQ(name,"PRINCONSISTENT")) sv_setiv(ST(0),PRINCONSISTENT);
else if (strEQ(name,"PRINST")) sv_setiv(ST(0),PRINST);
else if (strEQ(name,"PRIVATE_SHIFT")) sv_setiv(ST(0),PRIVATE_SHIFT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
if (strEQ(name,"PRNOENT")) sv_setiv(ST(0),PRNOENT);
else if (strEQ(name,"PRNOIDS")) sv_setiv(ST(0),PRNOIDS);
else if (strEQ(name,"PRNOMORE")) sv_setiv(ST(0),PRNOMORE);
else if (strEQ(name,"PRNOTGROUP")) sv_setiv(ST(0),PRNOTGROUP);
else if (strEQ(name,"PRNOTUSER")) sv_setiv(ST(0),PRNOTUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
if (strEQ(name,"PRPERM")) sv_setiv(ST(0),PRPERM);
else if (strEQ(name,"PRP_ADD_ANY")) sv_setiv(ST(0),PRP_ADD_ANY);
else if (strEQ(name,"PRP_ADD_MEM")) sv_setiv(ST(0),PRP_ADD_MEM);
else if (strEQ(name,"PRP_GROUP_DEFAULT")) sv_setiv(ST(0),PRP_GROUP_DEFAULT);
else if (strEQ(name,"PRP_MEMBER_ANY")) sv_setiv(ST(0),PRP_MEMBER_ANY);
else if (strEQ(name,"PRP_MEMBER_MEM")) sv_setiv(ST(0),PRP_MEMBER_MEM);
else if (strEQ(name,"PRP_OWNED_ANY")) sv_setiv(ST(0),PRP_OWNED_ANY);
else if (strEQ(name,"PRP_REMOVE_MEM")) sv_setiv(ST(0),PRP_REMOVE_MEM);
else if (strEQ(name,"PRP_STATUS_ANY")) sv_setiv(ST(0),PRP_STATUS_ANY);
else if (strEQ(name,"PRP_STATUS_MEM")) sv_setiv(ST(0),PRP_STATUS_MEM);
else if (strEQ(name,"PRP_USER_DEFAULT")) sv_setiv(ST(0),PRP_USER_DEFAULT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'Q':
if (strEQ(name,"PRQUOTA")) sv_setiv(ST(0),PRQUOTA);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
if (strEQ(name,"PRSFS_ADMINISTER")) sv_setiv(ST(0),PRSFS_ADMINISTER);
else if (strEQ(name,"PRSFS_DELETE")) sv_setiv(ST(0),PRSFS_DELETE);
else if (strEQ(name,"PRSFS_INSERT")) sv_setiv(ST(0),PRSFS_INSERT);
else if (strEQ(name,"PRSFS_LOCK")) sv_setiv(ST(0),PRSFS_LOCK);
else if (strEQ(name,"PRSFS_LOOKUP")) sv_setiv(ST(0),PRSFS_LOOKUP);
else if (strEQ(name,"PRSFS_READ")) sv_setiv(ST(0),PRSFS_READ);
else if (strEQ(name,"PRSFS_USR2")) sv_setiv(ST(0),PRSFS_USR2);
else if (strEQ(name,"PRSFS_USR3")) sv_setiv(ST(0),PRSFS_USR3);
else if (strEQ(name,"PRSFS_USR4")) sv_setiv(ST(0),PRSFS_USR4);
else if (strEQ(name,"PRSFS_USR5")) sv_setiv(ST(0),PRSFS_USR5);
else if (strEQ(name,"PRSFS_USR6")) sv_setiv(ST(0),PRSFS_USR6);
else if (strEQ(name,"PRSFS_USR7")) sv_setiv(ST(0),PRSFS_USR7);
else if (strEQ(name,"PRSFS_WRITE")) sv_setiv(ST(0),PRSFS_WRITE);
else if (strEQ(name,"PRSIZE")) sv_setiv(ST(0),PRSIZE);
else if (strEQ(name,"PRSUCCESS")) sv_setiv(ST(0),PRSUCCESS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
if (strEQ(name,"PRTOOMANY")) sv_setiv(ST(0),PRTOOMANY);
else if (strEQ(name,"PRTYPE")) sv_setiv(ST(0),PRTYPE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
if (strEQ(name,"PRUSER")) sv_setiv(ST(0),PRUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"PR_HIGHEST_OPCODE")) sv_setiv(ST(0),PR_HIGHEST_OPCODE);
else if (strEQ(name,"PR_LOWEST_OPCODE")) sv_setiv(ST(0),PR_LOWEST_OPCODE);
else if (strEQ(name,"PR_MAXGROUPS")) sv_setiv(ST(0),PR_MAXGROUPS);
else if (strEQ(name,"PR_MAXLIST")) sv_setiv(ST(0),PR_MAXLIST);
else if (strEQ(name,"PR_MAXNAMELEN")) sv_setiv(ST(0),PR_MAXNAMELEN);
else if (strEQ(name,"PR_NUMBER_OPCODES")) sv_setiv(ST(0),PR_NUMBER_OPCODES);
else if (strEQ(name,"PR_REMEMBER_TIMES")) sv_setiv(ST(0),PR_REMEMBER_TIMES);
else if (strEQ(name,"PR_SF_ALLBITS")) sv_setiv(ST(0),PR_SF_ALLBITS);
else if (strEQ(name,"PR_SF_NGROUPS")) sv_setiv(ST(0),PR_SF_NGROUPS);
else if (strEQ(name,"PR_SF_NUSERS")) sv_setiv(ST(0),PR_SF_NUSERS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'R':
switch (name[1]) {
case 'X':
switch (name[2]) {
case 'K':
if (strEQ(name,"RXKADBADKEY")) sv_setiv(ST(0),RXKADBADKEY);
else if (strEQ(name,"RXKADBADTICKET")) sv_setiv(ST(0),RXKADBADTICKET);
else if (strEQ(name,"RXKADILLEGALLEVEL")) sv_setiv(ST(0),RXKADILLEGALLEVEL);
else if (strEQ(name,"RXKADINCONSISTENCY")) sv_setiv(ST(0),RXKADINCONSISTENCY);
else if (strEQ(name,"RXKADLEVELFAIL")) sv_setiv(ST(0),RXKADLEVELFAIL);
else if (strEQ(name,"RXKADNOAUTH")) sv_setiv(ST(0),RXKADNOAUTH);
else if (strEQ(name,"RXKADOUTOFSEQUENCE")) sv_setiv(ST(0),RXKADOUTOFSEQUENCE);
else if (strEQ(name,"RXKADPACKETSHORT")) sv_setiv(ST(0),RXKADPACKETSHORT);
else if (strEQ(name,"RXKADSEALEDINCON")) sv_setiv(ST(0),RXKADSEALEDINCON);
else if (strEQ(name,"RXKADTICKETLEN")) sv_setiv(ST(0),RXKADTICKETLEN);
else if (strEQ(name,"RXKADUNKNOWNKEY")) sv_setiv(ST(0),RXKADUNKNOWNKEY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"RX_SCINDEX_KAD")) sv_setiv(ST(0),RX_SCINDEX_KAD);
else if (strEQ(name,"RX_SCINDEX_NULL")) sv_setiv(ST(0),RX_SCINDEX_NULL);
else if (strEQ(name,"RX_SCINDEX_VAB")) sv_setiv(ST(0),RX_SCINDEX_VAB);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
switch (name[1]) {
case 'Y':
switch (name[2]) {
case 'S':
if (strEQ(name,"SYSADMINID")) sv_setiv(ST(0),SYSADMINID);
else if (strEQ(name,"SYSBACKUPID")) sv_setiv(ST(0),SYSBACKUPID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
switch (name[1]) {
case 'B':
switch (name[2]) {
case 'A':
if (strEQ(name,"UBADHOST")) sv_setiv(ST(0),UBADHOST);
else if (strEQ(name,"UBADLOCK")) sv_setiv(ST(0),UBADLOCK);
else if (strEQ(name,"UBADLOG")) sv_setiv(ST(0),UBADLOG);
else if (strEQ(name,"UBADTYPE")) sv_setiv(ST(0),UBADTYPE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
switch (name[2]) {
case 'O':
if (strEQ(name,"UDONE")) sv_setiv(ST(0),UDONE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
switch (name[2]) {
case 'O':
if (strEQ(name,"UEOF")) sv_setiv(ST(0),UEOF);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
switch (name[2]) {
case 'N':
if (strEQ(name,"UINTERNAL")) sv_setiv(ST(0),UINTERNAL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"UIOERROR")) sv_setiv(ST(0),UIOERROR);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'L':
switch (name[2]) {
case 'O':
if (strEQ(name,"ULOGIO")) sv_setiv(ST(0),ULOGIO);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[2]) {
case 'H':
if (strEQ(name,"UNHOSTS")) sv_setiv(ST(0),UNHOSTS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"UNOENT")) sv_setiv(ST(0),UNOENT);
else if (strEQ(name,"UNOQUORUM")) sv_setiv(ST(0),UNOQUORUM);
else if (strEQ(name,"UNOSERVERS")) sv_setiv(ST(0),UNOSERVERS);
else if (strEQ(name,"UNOTSYNC")) sv_setiv(ST(0),UNOTSYNC);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
switch (name[2]) {
case 'Y':
if (strEQ(name,"USYNC")) sv_setiv(ST(0),USYNC);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
switch (name[2]) {
case 'W':
if (strEQ(name,"UTWOENDS")) sv_setiv(ST(0),UTWOENDS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'V':
switch (name[1]) {
case 'I':
switch (name[2]) {
case 'O':
if (strEQ(name,"VIOCACCESS")) sv_setiv(ST(0),VIOCACCESS);
else if (strEQ(name,"VIOCCKBACK")) sv_setiv(ST(0),VIOCCKBACK);
else if (strEQ(name,"VIOC_GAG")) sv_setiv(ST(0),VIOC_GAG);
else if (strEQ(name,"VIOC_GETCELLSTATUS")) sv_setiv(ST(0),VIOC_GETCELLSTATUS);
else if (strEQ(name,"VIOC_GETSPREFS")) sv_setiv(ST(0),VIOC_GETSPREFS);
else if (strEQ(name,"VIOC_GET_PRIMARY_CELL")) sv_setiv(ST(0),VIOC_GET_PRIMARY_CELL);
else if (strEQ(name,"VIOC_GET_WS_CELL")) sv_setiv(ST(0),VIOC_GET_WS_CELL);
else if (strEQ(name,"VIOC_SETCELLSTATUS")) sv_setiv(ST(0),VIOC_SETCELLSTATUS);
else if (strEQ(name,"VIOC_SETSPREFS")) sv_setiv(ST(0),VIOC_SETSPREFS);
else if (strEQ(name,"VIOC_TWIDDLE")) sv_setiv(ST(0),VIOC_TWIDDLE);
else if (strEQ(name,"VIOC_VENUSLOG")) sv_setiv(ST(0),VIOC_VENUSLOG);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
errno = 0;
XSRETURN(1);
return;
}
#else
switch (name[2]) {
case 'S':
if (strEQ(name,"AFSCONF_FAILURE")) sv_setiv(ST(0),AFSCONF_FAILURE);
else if (strEQ(name,"AFSCONF_FULL")) sv_setiv(ST(0),AFSCONF_FULL);
else if (strEQ(name,"AFSCONF_NOCELL")) sv_setiv(ST(0),AFSCONF_NOCELL);
else if (strEQ(name,"AFSCONF_NODB")) sv_setiv(ST(0),AFSCONF_NODB);
else if (strEQ(name,"AFSCONF_NOTFOUND")) sv_setiv(ST(0),AFSCONF_NOTFOUND);
else if (strEQ(name,"AFSCONF_SYNTAX")) sv_setiv(ST(0),AFSCONF_SYNTAX);
else if (strEQ(name,"AFSCONF_UNKNOWN")) sv_setiv(ST(0),AFSCONF_UNKNOWN);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[2]) {
case 'O':
if (strEQ(name,"ANONYMOUSID")) sv_setiv(ST(0),ANONYMOUSID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'Y':
if (strEQ(name,"ANYUSERID")) sv_setiv(ST(0),ANYUSERID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
switch (name[2]) {
case 'T':
if (strEQ(name,"AUTHUSERID")) sv_setiv(ST(0),AUTHUSERID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
switch (name[1]) {
case 'O':
switch (name[2]) {
case 'S':
if (strEQ(name,"COSIZE")) sv_setiv(ST(0),COSIZE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'K':
switch (name[1]) {
case 'A':
switch (name[2]) {
case 'A':
if (strEQ(name,"KAANSWERTOOLONG")) sv_setiv(ST(0),KAANSWERTOOLONG);
else if (strEQ(name,"KAASSOCUSER")) sv_setiv(ST(0),KAASSOCUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'B':
if (strEQ(name,"KABADARGUMENT")) sv_setiv(ST(0),KABADARGUMENT);
else if (strEQ(name,"KABADCMD")) sv_setiv(ST(0),KABADCMD);
else if (strEQ(name,"KABADCPW")) sv_setiv(ST(0),KABADCPW);
else if (strEQ(name,"KABADCREATE")) sv_setiv(ST(0),KABADCREATE);
else if (strEQ(name,"KABADINDEX")) sv_setiv(ST(0),KABADINDEX);
else if (strEQ(name,"KABADKEY")) sv_setiv(ST(0),KABADKEY);
else if (strEQ(name,"KABADNAME")) sv_setiv(ST(0),KABADNAME);
else if (strEQ(name,"KABADPROTOCOL")) sv_setiv(ST(0),KABADPROTOCOL);
else if (strEQ(name,"KABADREQUEST")) sv_setiv(ST(0),KABADREQUEST);
else if (strEQ(name,"KABADSERVER")) sv_setiv(ST(0),KABADSERVER);
else if (strEQ(name,"KABADTICKET")) sv_setiv(ST(0),KABADTICKET);
else if (strEQ(name,"KABADUSER")) sv_setiv(ST(0),KABADUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
if (strEQ(name,"KACLOCKSKEW")) sv_setiv(ST(0),KACLOCKSKEW);
else if (strEQ(name,"KACREATEFAIL")) sv_setiv(ST(0),KACREATEFAIL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
if (strEQ(name,"KADATABASEINCONSISTENT")) sv_setiv(ST(0),KADATABASEINCONSISTENT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
if (strEQ(name,"KAEMPTY")) sv_setiv(ST(0),KAEMPTY);
else if (strEQ(name,"KAEXIST")) sv_setiv(ST(0),KAEXIST);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'F':
if (strEQ(name,"KAFADMIN")) sv_setiv(ST(0),KAFADMIN);
else if (strEQ(name,"KAFASSOC")) sv_setiv(ST(0),KAFASSOC);
else if (strEQ(name,"KAFASSOCROOT")) sv_setiv(ST(0),KAFASSOCROOT);
else if (strEQ(name,"KAFFREE")) sv_setiv(ST(0),KAFFREE);
else if (strEQ(name,"KAFNEWASSOC")) sv_setiv(ST(0),KAFNEWASSOC);
else if (strEQ(name,"KAFNOCPW")) sv_setiv(ST(0),KAFNOCPW);
else if (strEQ(name,"KAFNORMAL")) sv_setiv(ST(0),KAFNORMAL);
else if (strEQ(name,"KAFNOSEAL")) sv_setiv(ST(0),KAFNOSEAL);
else if (strEQ(name,"KAFNOTGS")) sv_setiv(ST(0),KAFNOTGS);
else if (strEQ(name,"KAFOLDKEYS")) sv_setiv(ST(0),KAFOLDKEYS);
else if (strEQ(name,"KAFSPECIAL")) sv_setiv(ST(0),KAFSPECIAL);
else if (strEQ(name,"KAF_SETTABLE_FLAGS")) sv_setiv(ST(0),KAF_SETTABLE_FLAGS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
if (strEQ(name,"KAINTERNALERROR")) sv_setiv(ST(0),KAINTERNALERROR);
else if (strEQ(name,"KAIO")) sv_setiv(ST(0),KAIO);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'K':
if (strEQ(name,"KAKEYCACHEINVALID")) sv_setiv(ST(0),KAKEYCACHEINVALID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'L':
if (strEQ(name,"KALOCKED")) sv_setiv(ST(0),KALOCKED);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'M':
if (strEQ(name,"KAMAJORVERSION")) sv_setiv(ST(0),KAMAJORVERSION);
else if (strEQ(name,"KAMINORVERSION")) sv_setiv(ST(0),KAMINORVERSION);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
if (strEQ(name,"KANOAUTH")) sv_setiv(ST(0),KANOAUTH);
else if (strEQ(name,"KANOCELL")) sv_setiv(ST(0),KANOCELL);
else if (strEQ(name,"KANOCELLS")) sv_setiv(ST(0),KANOCELLS);
else if (strEQ(name,"KANOENT")) sv_setiv(ST(0),KANOENT);
else if (strEQ(name,"KANOKEYS")) sv_setiv(ST(0),KANOKEYS);
else if (strEQ(name,"KANORECURSE")) sv_setiv(ST(0),KANORECURSE);
else if (strEQ(name,"KANOTICKET")) sv_setiv(ST(0),KANOTICKET);
else if (strEQ(name,"KANOTSPECIAL")) sv_setiv(ST(0),KANOTSPECIAL);
else if (strEQ(name,"KANULLPASSWORD")) sv_setiv(ST(0),KANULLPASSWORD);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"KAOLDINTERFACE")) sv_setiv(ST(0),KAOLDINTERFACE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
if (strEQ(name,"KAPWEXPIRED")) sv_setiv(ST(0),KAPWEXPIRED);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'R':
if (strEQ(name,"KAREADPW")) sv_setiv(ST(0),KAREADPW);
else if (strEQ(name,"KAREUSED")) sv_setiv(ST(0),KAREUSED);
else if (strEQ(name,"KARXFAIL")) sv_setiv(ST(0),KARXFAIL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
if (strEQ(name,"KATOOMANYKEYS")) sv_setiv(ST(0),KATOOMANYKEYS);
else if (strEQ(name,"KATOOMANYUBIKS")) sv_setiv(ST(0),KATOOMANYUBIKS);
else if (strEQ(name,"KATOOSOON")) sv_setiv(ST(0),KATOOSOON);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
if (strEQ(name,"KAUBIKCALL")) sv_setiv(ST(0),KAUBIKCALL);
else if (strEQ(name,"KAUBIKINIT")) sv_setiv(ST(0),KAUBIKINIT);
else if (strEQ(name,"KAUNKNOWNKEY")) sv_setiv(ST(0),KAUNKNOWNKEY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"KA_ADMIN_INST")) sv_setpv(ST(0),KA_ADMIN_INST);
else if (strEQ(name,"KA_ADMIN_NAME")) sv_setpv(ST(0),KA_ADMIN_NAME);
else if (strEQ(name,"KA_AUTHENTICATION_SERVICE")) sv_setiv(ST(0),KA_AUTHENTICATION_SERVICE);
else if (strEQ(name,"KA_ISLOCKED")) sv_setiv(ST(0),KA_ISLOCKED);
else if (strEQ(name,"KA_MAINTENANCE_SERVICE")) sv_setiv(ST(0),KA_MAINTENANCE_SERVICE);
else if (strEQ(name,"KA_NOREUSEPW")) sv_setiv(ST(0),KA_NOREUSEPW);
else if (strEQ(name,"KA_REUSEPW")) sv_setiv(ST(0),KA_REUSEPW);
else if (strEQ(name,"KA_TGS_NAME")) sv_setpv(ST(0),KA_TGS_NAME);
else if (strEQ(name,"KA_TICKET_GRANTING_SERVICE")) sv_setiv(ST(0),KA_TICKET_GRANTING_SERVICE);
else if (strEQ(name,"KA_USERAUTH_DOSETPAG")) sv_setiv(ST(0),KA_USERAUTH_DOSETPAG);
else if (strEQ(name,"KA_USERAUTH_DOSETPAG2")) sv_setiv(ST(0),KA_USERAUTH_DOSETPAG2);
else if (strEQ(name,"KA_USERAUTH_VERSION")) sv_setiv(ST(0),KA_USERAUTH_VERSION);
else if (strEQ(name,"KA_USERAUTH_VERSION_MASK")) sv_setiv(ST(0),KA_USERAUTH_VERSION_MASK);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
switch (name[2]) {
case 'C':
if (strEQ(name,"KTC_TIME_UNCERTAINTY")) sv_setiv(ST(0),KTC_TIME_UNCERTAINTY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'M':
switch (name[1]) {
case 'A':
switch (name[2]) {
case 'X':
if (strEQ(name,"MAXKAKVNO")) sv_setiv(ST(0),MAXKAKVNO);
else if (strEQ(name,"MAXKTCNAMELEN")) sv_setiv(ST(0),MAXKTCNAMELEN);
else if (strEQ(name,"MAXKTCREALMLEN")) sv_setiv(ST(0),MAXKTCREALMLEN);
else if (strEQ(name,"MAXKTCTICKETLEN")) sv_setiv(ST(0),MAXKTCTICKETLEN);
else if (strEQ(name,"MAXKTCTICKETLIFETIME")) sv_setiv(ST(0),MAXKTCTICKETLIFETIME);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
switch (name[2]) {
case 'N':
if (strEQ(name,"MINKTCTICKETLEN")) sv_setiv(ST(0),MINKTCTICKETLEN);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[1]) {
case 'E':
switch (name[2]) {
case 'V':
if (strEQ(name,"NEVERDATE")) sv_setiv(ST(0),NEVERDATE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
switch (name[1]) {
case 'R':
switch (name[2]) {
case 'A':
if (strEQ(name,"PRACCESS")) sv_setiv(ST(0),PRACCESS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'B':
if (strEQ(name,"PRBADARG")) sv_setiv(ST(0),PRBADARG);
else if (strEQ(name,"PRBADID")) sv_setiv(ST(0),PRBADID);
else if (strEQ(name,"PRBADNAM")) sv_setiv(ST(0),PRBADNAM);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'C':
if (strEQ(name,"PRCELL")) sv_setiv(ST(0),PRCELL);
else if (strEQ(name,"PRCONT")) sv_setiv(ST(0),PRCONT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
if (strEQ(name,"PRDBADDR")) sv_setiv(ST(0),PRDBADDR);
else if (strEQ(name,"PRDBBAD")) sv_setiv(ST(0),PRDBBAD);
else if (strEQ(name,"PRDBFAIL")) sv_setiv(ST(0),PRDBFAIL);
else if (strEQ(name,"PRDBVERSION")) sv_setiv(ST(0),PRDBVERSION);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
if (strEQ(name,"PREXIST")) sv_setiv(ST(0),PREXIST);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'F':
if (strEQ(name,"PRFOREIGN")) sv_setiv(ST(0),PRFOREIGN);
else if (strEQ(name,"PRFREE")) sv_setiv(ST(0),PRFREE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'G':
if (strEQ(name,"PRGROUPEMPTY")) sv_setiv(ST(0),PRGROUPEMPTY);
else if (strEQ(name,"PRGRP")) sv_setiv(ST(0),PRGRP);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
if (strEQ(name,"PRIDEXIST")) sv_setiv(ST(0),PRIDEXIST);
else if (strEQ(name,"PRINCONSISTENT")) sv_setiv(ST(0),PRINCONSISTENT);
else if (strEQ(name,"PRINST")) sv_setiv(ST(0),PRINST);
else if (strEQ(name,"PRIVATE_SHIFT")) sv_setiv(ST(0),PRIVATE_SHIFT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
if (strEQ(name,"PRNOENT")) sv_setiv(ST(0),PRNOENT);
else if (strEQ(name,"PRNOIDS")) sv_setiv(ST(0),PRNOIDS);
else if (strEQ(name,"PRNOMORE")) sv_setiv(ST(0),PRNOMORE);
else if (strEQ(name,"PRNOTGROUP")) sv_setiv(ST(0),PRNOTGROUP);
else if (strEQ(name,"PRNOTUSER")) sv_setiv(ST(0),PRNOTUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'P':
if (strEQ(name,"PRPERM")) sv_setiv(ST(0),PRPERM);
else if (strEQ(name,"PRP_ADD_ANY")) sv_setiv(ST(0),PRP_ADD_ANY);
else if (strEQ(name,"PRP_ADD_MEM")) sv_setiv(ST(0),PRP_ADD_MEM);
else if (strEQ(name,"PRP_GROUP_DEFAULT")) sv_setiv(ST(0),PRP_GROUP_DEFAULT);
else if (strEQ(name,"PRP_MEMBER_ANY")) sv_setiv(ST(0),PRP_MEMBER_ANY);
else if (strEQ(name,"PRP_MEMBER_MEM")) sv_setiv(ST(0),PRP_MEMBER_MEM);
else if (strEQ(name,"PRP_OWNED_ANY")) sv_setiv(ST(0),PRP_OWNED_ANY);
else if (strEQ(name,"PRP_REMOVE_MEM")) sv_setiv(ST(0),PRP_REMOVE_MEM);
else if (strEQ(name,"PRP_STATUS_ANY")) sv_setiv(ST(0),PRP_STATUS_ANY);
else if (strEQ(name,"PRP_STATUS_MEM")) sv_setiv(ST(0),PRP_STATUS_MEM);
else if (strEQ(name,"PRP_USER_DEFAULT")) sv_setiv(ST(0),PRP_USER_DEFAULT);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'Q':
if (strEQ(name,"PRQUOTA")) sv_setiv(ST(0),PRQUOTA);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
if (strEQ(name,"PRSFS_ADMINISTER")) sv_setiv(ST(0),PRSFS_ADMINISTER);
else if (strEQ(name,"PRSFS_DELETE")) sv_setiv(ST(0),PRSFS_DELETE);
else if (strEQ(name,"PRSFS_INSERT")) sv_setiv(ST(0),PRSFS_INSERT);
else if (strEQ(name,"PRSFS_LOCK")) sv_setiv(ST(0),PRSFS_LOCK);
else if (strEQ(name,"PRSFS_LOOKUP")) sv_setiv(ST(0),PRSFS_LOOKUP);
else if (strEQ(name,"PRSFS_READ")) sv_setiv(ST(0),PRSFS_READ);
else if (strEQ(name,"PRSFS_USR2")) sv_setiv(ST(0),PRSFS_USR2);
else if (strEQ(name,"PRSFS_USR3")) sv_setiv(ST(0),PRSFS_USR3);
else if (strEQ(name,"PRSFS_USR4")) sv_setiv(ST(0),PRSFS_USR4);
else if (strEQ(name,"PRSFS_USR5")) sv_setiv(ST(0),PRSFS_USR5);
else if (strEQ(name,"PRSFS_USR6")) sv_setiv(ST(0),PRSFS_USR6);
else if (strEQ(name,"PRSFS_USR7")) sv_setiv(ST(0),PRSFS_USR7);
else if (strEQ(name,"PRSFS_WRITE")) sv_setiv(ST(0),PRSFS_WRITE);
else if (strEQ(name,"PRSIZE")) sv_setiv(ST(0),PRSIZE);
else if (strEQ(name,"PRSUCCESS")) sv_setiv(ST(0),PRSUCCESS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
if (strEQ(name,"PRTOOMANY")) sv_setiv(ST(0),PRTOOMANY);
else if (strEQ(name,"PRTYPE")) sv_setiv(ST(0),PRTYPE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
if (strEQ(name,"PRUSER")) sv_setiv(ST(0),PRUSER);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"PR_HIGHEST_OPCODE")) sv_setiv(ST(0),PR_HIGHEST_OPCODE);
else if (strEQ(name,"PR_LOWEST_OPCODE")) sv_setiv(ST(0),PR_LOWEST_OPCODE);
else if (strEQ(name,"PR_MAXGROUPS")) sv_setiv(ST(0),PR_MAXGROUPS);
else if (strEQ(name,"PR_MAXLIST")) sv_setiv(ST(0),PR_MAXLIST);
else if (strEQ(name,"PR_MAXNAMELEN")) sv_setiv(ST(0),PR_MAXNAMELEN);
else if (strEQ(name,"PR_NUMBER_OPCODES")) sv_setiv(ST(0),PR_NUMBER_OPCODES);
else if (strEQ(name,"PR_REMEMBER_TIMES")) sv_setiv(ST(0),PR_REMEMBER_TIMES);
else if (strEQ(name,"PR_SF_ALLBITS")) sv_setiv(ST(0),PR_SF_ALLBITS);
else if (strEQ(name,"PR_SF_NGROUPS")) sv_setiv(ST(0),PR_SF_NGROUPS);
else if (strEQ(name,"PR_SF_NUSERS")) sv_setiv(ST(0),PR_SF_NUSERS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'R':
switch (name[1]) {
case 'X':
switch (name[2]) {
case 'K':
if (strEQ(name,"RXKADBADKEY")) sv_setiv(ST(0),RXKADBADKEY);
else if (strEQ(name,"RXKADBADTICKET")) sv_setiv(ST(0),RXKADBADTICKET);
else if (strEQ(name,"RXKADILLEGALLEVEL")) sv_setiv(ST(0),RXKADILLEGALLEVEL);
else if (strEQ(name,"RXKADINCONSISTENCY")) sv_setiv(ST(0),RXKADINCONSISTENCY);
else if (strEQ(name,"RXKADLEVELFAIL")) sv_setiv(ST(0),RXKADLEVELFAIL);
else if (strEQ(name,"RXKADNOAUTH")) sv_setiv(ST(0),RXKADNOAUTH);
else if (strEQ(name,"RXKADOUTOFSEQUENCE")) sv_setiv(ST(0),RXKADOUTOFSEQUENCE);
else if (strEQ(name,"RXKADPACKETSHORT")) sv_setiv(ST(0),RXKADPACKETSHORT);
else if (strEQ(name,"RXKADSEALEDINCON")) sv_setiv(ST(0),RXKADSEALEDINCON);
else if (strEQ(name,"RXKADTICKETLEN")) sv_setiv(ST(0),RXKADTICKETLEN);
else if (strEQ(name,"RXKADUNKNOWNKEY")) sv_setiv(ST(0),RXKADUNKNOWNKEY);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case '_':
if (strEQ(name,"RX_SCINDEX_KAD")) sv_setiv(ST(0),RX_SCINDEX_KAD);
else if (strEQ(name,"RX_SCINDEX_NULL")) sv_setiv(ST(0),RX_SCINDEX_NULL);
else if (strEQ(name,"RX_SCINDEX_VAB")) sv_setiv(ST(0),RX_SCINDEX_VAB);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
switch (name[1]) {
case 'Y':
switch (name[2]) {
case 'S':
if (strEQ(name,"SYSADMINID")) sv_setiv(ST(0),SYSADMINID);
else if (strEQ(name,"SYSBACKUPID")) sv_setiv(ST(0),SYSBACKUPID);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'U':
switch (name[1]) {
case 'B':
switch (name[2]) {
case 'A':
if (strEQ(name,"UBADHOST")) sv_setiv(ST(0),UBADHOST);
else if (strEQ(name,"UBADLOCK")) sv_setiv(ST(0),UBADLOCK);
else if (strEQ(name,"UBADLOG")) sv_setiv(ST(0),UBADLOG);
else if (strEQ(name,"UBADTYPE")) sv_setiv(ST(0),UBADTYPE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'D':
switch (name[2]) {
case 'O':
if (strEQ(name,"UDONE")) sv_setiv(ST(0),UDONE);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'E':
switch (name[2]) {
case 'O':
if (strEQ(name,"UEOF")) sv_setiv(ST(0),UEOF);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'I':
switch (name[2]) {
case 'N':
if (strEQ(name,"UINTERNAL")) sv_setiv(ST(0),UINTERNAL);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"UIOERROR")) sv_setiv(ST(0),UIOERROR);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'L':
switch (name[2]) {
case 'O':
if (strEQ(name,"ULOGIO")) sv_setiv(ST(0),ULOGIO);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'N':
switch (name[2]) {
case 'H':
if (strEQ(name,"UNHOSTS")) sv_setiv(ST(0),UNHOSTS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'O':
if (strEQ(name,"UNOENT")) sv_setiv(ST(0),UNOENT);
else if (strEQ(name,"UNOQUORUM")) sv_setiv(ST(0),UNOQUORUM);
else if (strEQ(name,"UNOSERVERS")) sv_setiv(ST(0),UNOSERVERS);
else if (strEQ(name,"UNOTSYNC")) sv_setiv(ST(0),UNOTSYNC);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'S':
switch (name[2]) {
case 'Y':
if (strEQ(name,"USYNC")) sv_setiv(ST(0),USYNC);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'T':
switch (name[2]) {
case 'W':
if (strEQ(name,"UTWOENDS")) sv_setiv(ST(0),UTWOENDS);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
case 'V':
switch (name[1]) {
case 'I':
switch (name[2]) {
case 'O':
if (strEQ(name,"VIOCACCESS")) sv_setiv(ST(0),VIOCACCESS);
else if (strEQ(name,"VIOCCKBACK")) sv_setiv(ST(0),VIOCCKBACK);
else if (strEQ(name,"VIOC_GAG")) sv_setiv(ST(0),VIOC_GAG);
else if (strEQ(name,"VIOC_GETCELLSTATUS")) sv_setiv(ST(0),VIOC_GETCELLSTATUS);
else if (strEQ(name,"VIOC_GETSPREFS")) sv_setiv(ST(0),VIOC_GETSPREFS);
else if (strEQ(name,"VIOC_GET_PRIMARY_CELL")) sv_setiv(ST(0),VIOC_GET_PRIMARY_CELL);
else if (strEQ(name,"VIOC_GET_WS_CELL")) sv_setiv(ST(0),VIOC_GET_WS_CELL);
else if (strEQ(name,"VIOC_SETCELLSTATUS")) sv_setiv(ST(0),VIOC_SETCELLSTATUS);
else if (strEQ(name,"VIOC_SETSPREFS")) sv_setiv(ST(0),VIOC_SETSPREFS);
else if (strEQ(name,"VIOC_TWIDDLE")) sv_setiv(ST(0),VIOC_TWIDDLE);
else if (strEQ(name,"VIOC_VENUSLOG")) sv_setiv(ST(0),VIOC_VENUSLOG);
else {
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
break;
default:
ST(0) = ST(1) = &PL_sv_undef;
return;
}
errno = 0;
XSRETURN(1);
return;
}
#endif
src/BOS/BOS.pm view on Meta::CPAN
use Carp;
use AFS ();
use vars qw(@ISA $VERSION);
@ISA = qw(AFS);
$VERSION = 'v2.6.4';
sub DESTROY {
my (undef, undef, undef, $subroutine) = caller(1);
if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; } # self->DESTROY
else { AFS::BOS::_DESTROY($_[0]); } # undef self
}
sub create {
my $self = shift;
my $process = shift;
my $type = shift;
my $command = shift;
my $notifier = shift;
if (! defined $process ||
src/BOS/BOS.pm view on Meta::CPAN
if ($#_ == 0 and ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_restart(0, 0, @_);
}
elsif ($#_ == 0 and ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_restart(0, 0, \@server);
}
else {
carp "AFS::BOS->restart: not a valid input ...\n";
return undef;
}
}
sub restart_all {
my $self = shift;
$self->_restart(0, 1);
}
sub restart_bos {
src/BOS/BOS.pm view on Meta::CPAN
if ($#_ == 0 and ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_start(@_);
}
elsif ($#_ == 0 and ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_start(\@server);
}
else {
carp "AFS::BOS->start: not a valid input ...\n";
return undef;
}
}
sub startup {
my $self = shift;
if ($#_ == -1) { # no input given
$self->_startup();
}
elsif ($#_ == 0 and ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_startup(@_);
}
elsif ($#_ == 0 and ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_startup(\@server);
}
else {
carp "AFS::BOS->startup: not a valid input ...\n";
return undef;
}
}
sub status {
my $self = shift;
if ($#_ > 0 and ! defined $_[1]) { $_[1] = ''; } # INSTANCE is not defined
if (ref($_[1]) eq 'ARRAY' or $#_ <= 0) { # INSTANCE is array ref
$self->_status(@_);
src/BOS/BOS.pm view on Meta::CPAN
}
elsif (ref($_[1]) eq '') { # INSTANCE is scalar
my @server;
my @args = @_;
$server[0] = $args[1];
$args[1] = \@server;
$self->_status(@args);
}
else {
carp "AFS::BOS->status: not a valid input ...\n";
return undef;
}
}
sub stop {
my $self = shift;
if ($#_ == -1 or ($#_ > -1 and ! defined $_[0])) {
carp "AFS::BOS->stop: not a valid input ...\n";
return undef;
}
if (ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_stop(@_);
}
elsif (ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_stop(\@server, @_);
}
else {
carp "AFS::BOS->stop: not a valid input ...\n";
return undef;
}
}
sub shutdown {
my $self = shift;
if ($#_ == 1 and ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_shutdown(@_);
}
elsif ($#_ == 1 and ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_shutdown(\@server, @_);
}
elsif ($#_ == 0 and ref($_[0]) eq 'ARRAY') { # SERVER is array ref
$self->_shutdown(@_);
}
elsif ($#_ == 0 and $_[0] =~ /^\d$/ && $_[0] == 1) { # SERVER is undefined
$self->_shutdown(undef, @_);
}
elsif ($#_ == 0 and $_[0] =~ /^\d$/ && $_[0] == 0) { # SERVER is undefined
$self->_shutdown(undef, @_);
}
elsif ($#_ == 0 and ref($_[0]) eq '') { # SERVER is scalar
my @server;
$server[0] = shift;
$self->_shutdown(\@server);
}
elsif ($#_ == -1) { # no input given
$self->_shutdown();
}
else {
carp "AFS::BOS->shutdown: not a valid input ...\n";
return undef;
}
}
1;
src/BOS/t/BOS.t view on Meta::CPAN
use AFS::VLDB;
use AFS::Cell 'localcell';
my $vldb = AFS::VLDB->new;
my $vldblist = $vldb->listvldbentry('root.afs');
my $server = $vldblist->{'root.afs'}->{'server'}->[0]->{'name'};
my $l_cell = localcell;
my $bos = AFS::BOS->new($server);
is(ref($bos), 'AFS::BOS', 'bos->new()');
undef $bos;
is(leak_test(), 1210, 'bos leak_test');
$bos = AFS::BOS->new($server);
my ($cell, $hostlist) = $bos->listhosts;
is($cell, $l_cell, 'bos-listhost: Cellname OK');
ok(defined $$hostlist[0], 'bos->listhost: Host list OK');
my @users = $bos->listusers;
ok(defined $users[0], 'bos->listusers: User list OK');
src/CM/t/CM.t view on Meta::CPAN
$ok = cm_access('/tmp');
ok(!$ok, 'cm_access(/tmp)');
can_ok('AFS::CM', qw(flush));
can_ok('AFS::CM', qw(flushcb));
can_ok('AFS::CM', qw(flushvolume));
my ($max, undef) = getcacheparms;
ok($max, 'getcacheparms');
can_ok('AFS::CM', qw(getcrypt));
can_ok('AFS::CM', qw(checkconn));
can_ok('AFS::CM', qw(getcellstatus));
can_ok('AFS::CM', qw(getvolstats));
can_ok('AFS::CM', qw(setcachesize));
can_ok('AFS::CM', qw(setcellstatus));
can_ok('AFS::CM', qw(setcrypt));
src/KAS/KAS.pm view on Meta::CPAN
# AFS::expandcell(@_);
# }
# sub CellToRealm {
# my $class = shift;
# uc(AFS::expandcell(@_));
# }
sub DESTROY {
my (undef, undef, undef, $subroutine) = caller(1);
if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; } # self->DESTROY
else { AFS::KAS::_DESTROY($_[0]); } # undef self
}
sub AuthServerConn {
my $class = shift;
AFS::ka_AuthServerConn(@_);
}
sub SingleServerConn {
my $class = shift;
src/PTS/PTS.pm view on Meta::CPAN
my $sec = shift;
my $cell = shift;
my @args = ();
push @args, $sec if defined $sec;
push @args, $cell if defined $cell;
AFS::PTS::_new('AFS::PTS', @args);
}
sub DESTROY {
my (undef, undef, undef, $subroutine) = caller(1);
if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; } # self->DESTROY
else { AFS::PTS::_DESTROY($_[0]); } # undef self
}
sub ascii2ptsaccess {
my $class = shift;
AFS::ascii2ptsaccess(@_);
}
sub ptsaccess2ascii {
my $class = shift;
src/PTS/t/PTS.t view on Meta::CPAN
my $cell = localcell;
my $pts = AFS::PTS->new(2, $cell);
is(ref($pts), 'AFS::PTS', 'pts->new(2,cell)');
$pts = AFS::PTS->new(1);
is(ref($pts), 'AFS::PTS', 'pts->new(1)');
$pts = AFS::PTS->new;
is(ref($pts), 'AFS::PTS', 'pts->new()');
undef $pts;
is(leak_test($cell), 1210, 'pts leak_test');
$pts = AFS::PTS->new;
can_ok('AFS::PTS', qw(ascii2ptsaccess));
can_ok('AFS::PTS', qw(ptsaccess2ascii));
can_ok('AFS::PTS', qw(convert_numeric_names));
src/VLDB/VLDB.pm view on Meta::CPAN
use Carp;
use AFS ();
use vars qw(@ISA $VERSION);
@ISA = qw(AFS);
$VERSION = 'v2.6.4';
sub DESTROY {
my (undef, undef, undef, $subroutine) = caller(1);
if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; } # self->DESTROY
else { AFS::VLDB::_DESTROY($_[0]); } # undef self
}
sub delentry {
my $self = shift;
my $volume = shift;
my $noexec = shift;
$noexec = 0 unless $noexec;
if (! defined $volume) {
carp "AFS::VLDB->delentry: no VOLUME specified ...\n";
return (undef, undef);
}
if (ref($volume) eq 'ARRAY') {
$self->_delentry($volume, '', '', '', $noexec);
}
elsif (ref($volume) eq '' ) {
my @volumes;
$volumes[0] = $volume;
$self->_delentry(\@volumes, '', '', '', $noexec);
}
else {
carp "AFS::VLDB->delentry: not a valid input ...\n";
return (undef, undef);
}
}
sub delgroups {
my $self = shift;
my $prefix = shift;
my $server = shift;
my $part = shift;
my $noexec = shift;
src/VLDB/t/VLDB.t view on Meta::CPAN
BEGIN {
use AFS::FS;
if (AFS::FS::isafs('./')) { plan tests => 56; }
else { plan skip_all => 'Working directory is not in AFS file system ...'; }
use_ok('AFS::VLDB');
}
my $vldb = AFS::VLDB->new;
is(ref($vldb), 'AFS::VLDB', 'vldb->new()');
undef $vldb;
# vldb->new(verbose=0, timeout=90, noauth=0, localauth=0, tcell=NULL, crypt=0)
$vldb = AFS::VLDB->new(0, 90, 0, 0, 'xyz');
like($AFS::CODE, qr/can\'t find cell/, 'vldb->new(0 90 0 0 no_cell)');
$vldb = AFS::VLDB->new(0, 90, 0, 0, '');
is(ref($vldb), 'AFS::VLDB', 'vldb->new(0 90 0 0 no_cell)');
undef $vldb;
is(leak_test(), 1210, 'vldb leak_test');
$vldb = AFS::VLDB->new;
my $vldblist = $vldb->listvldbentry('no_volume');
like($AFS::CODE, qr/no such entry/, 'vldb->listvldbentry(no_vol)');
$vldblist = $vldb->listvldbentry('root.afs');
isa_ok($vldblist, 'HASH', 'vldb->listvldbentry 1.level');
isa_ok($vldblist->{'root.afs'}, 'HASH', 'vldb->listvldbentry 2.level');
src/VOS/VOS.pm view on Meta::CPAN
use Carp;
use AFS ();
use Scalar::Util qw(looks_like_number);
use vars qw(@ISA $VERSION);
@ISA = qw(AFS);
$VERSION = 'v2.6.4';
sub DESTROY {
my (undef, undef, undef, $subroutine) = caller(1);
if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; } # self->DESTROY
else { AFS::VOS::_DESTROY($_[0]); } # undef self
}
sub setquota {
my $self = shift;
my $volume = shift;
my $quota = shift || 0;
my $clear = shift || 0;
if (defined $quota and !looks_like_number($quota)) { warn "VOS::setquota: QUOTA is not an INTEGER ...\n"; return 0; }
else { $quota = int($quota); }
src/VOS/t/VOS.t view on Meta::CPAN
$vos = AFS::VOS->new(0, 90, 'no_auth');
like($AFS::CODE, qr/Flag "noauth" should be numeric/, 'vos->new(0 90 no_auth)');
$vos = AFS::VOS->new(0, 90, 0, 'no_localauth');
like($AFS::CODE, qr/Flag "localauth" should be numeric/, 'vos->new(0 90 0 no_localauth)');
$vos = AFS::VOS->new(0, 90, 0, 0, 'xyz');
like($AFS::CODE, qr/can\'t find cell/, 'vos->new(0 90 0 0 no_cell)');
$vos = AFS::VOS->new(0, 90, 0, 0, '', 'no_crypt');
like($AFS::CODE, qr/Flag "crypt" should be numeric/, 'vos->new(0 90 0 0 empty_cell no_crypt)');
$vos = AFS::VOS->new;
is(ref($vos), 'AFS::VOS', 'vos->new()');
undef $vos;
$vos = AFS::VOS->new(0, 90, 0, 0, '');
is(ref($vos), 'AFS::VOS', 'vos->new(0 90 0 0 empty_cell)');
undef $vos;
is(leak_test(), 1210, 'vos leak_test');
$vos = AFS::VOS->new;
$vos->release('novolume');
like($AFS::CODE, qr/no such entry/, 'vos->release(novolume)');
$vos->release('root.afs', 'a');
like($AFS::CODE, qr/Flag "force" should be numeric/, 'vos->release(root.afs a)');
use AFS::VLDB;
src/inc/Test/Builder.pm view on Meta::CPAN
$self->no_plan;
}
elsif( $cmd eq 'skip_all' ) {
return $self->skip_all($arg);
}
elsif( $cmd eq 'tests' ) {
if( $arg ) {
return $self->expected_tests($arg);
}
elsif( !defined $arg ) {
die "Got an undefined number of tests. Looks like you tried to ".
"say how many tests you plan to run but made a mistake.\n";
}
elsif( !$arg ) {
die "You said to run 0 tests! You've got to run something.\n";
}
}
else {
require Carp;
my @args = grep { defined } ($cmd, $arg);
Carp::croak("plan() doesn't understand @args");
src/inc/Test/Builder.pm view on Meta::CPAN
my($No_Plan) = 0;
sub no_plan {
$No_Plan = 1;
$Have_Plan = 1;
}
sub has_plan {
return($Expected_Tests) if $Expected_Tests;
return('no_plan') if $No_Plan;
return(undef);
};
my $Skip_All = 0;
sub skip_all {
my($self, $reason) = @_;
my $out = "1..0";
$out .= " # Skip $reason" if $reason;
src/inc/Test/Builder.pm view on Meta::CPAN
return $test ? 1 : 0;
}
sub is_eq {
my($self, $got, $expect, $name) = @_;
local $Level = $Level + 1;
if( !defined $got || !defined $expect ) {
# undef only matches undef and nothing else
my $test = !defined $got && !defined $expect;
$self->ok($test, $name);
$self->_is_diag($got, 'eq', $expect) unless $test;
return $test;
}
return $self->cmp_ok($got, 'eq', $expect, $name);
}
sub is_num {
my($self, $got, $expect, $name) = @_;
local $Level = $Level + 1;
if( !defined $got || !defined $expect ) {
# undef only matches undef and nothing else
my $test = !defined $got && !defined $expect;
$self->ok($test, $name);
$self->_is_diag($got, '==', $expect) unless $test;
return $test;
}
return $self->cmp_ok($got, '==', $expect, $name);
}
src/inc/Test/Builder.pm view on Meta::CPAN
if( $type eq 'eq' ) {
# quote and force string context
$$val = "'$$val'"
}
else {
# force numeric context
$$val = $$val+0;
}
}
else {
$$val = 'undef';
}
}
return $self->diag(sprintf <<DIAGNOSTIC, $got, $expect);
got: %s
expected: %s
DIAGNOSTIC
}
sub isnt_eq {
my($self, $got, $dont_expect, $name) = @_;
local $Level = $Level + 1;
if( !defined $got || !defined $dont_expect ) {
# undef only matches undef and nothing else
my $test = defined $got || defined $dont_expect;
$self->ok($test, $name);
$self->_cmp_diag('ne', $got, $dont_expect) unless $test;
return $test;
}
return $self->cmp_ok($got, 'ne', $dont_expect, $name);
}
sub isnt_num {
my($self, $got, $dont_expect, $name) = @_;
local $Level = $Level + 1;
if( !defined $got || !defined $dont_expect ) {
# undef only matches undef and nothing else
my $test = defined $got || defined $dont_expect;
$self->ok($test, $name);
$self->_cmp_diag('!=', $got, $dont_expect) unless $test;
return $test;
}
return $self->cmp_ok($got, '!=', $dont_expect, $name);
}
src/inc/Test/Builder.pm view on Meta::CPAN
my($self, $this, $regex, $name) = @_;
local $Level = $Level + 1;
$self->_regex_ok($this, $regex, '!~', $name);
}
sub maybe_regex {
my ($self, $regex) = @_;
my $usable_regex = undef;
if( ref $regex eq 'Regexp' ) {
$usable_regex = $regex;
}
# Check if it looks like '/foo/'
elsif( my($re, $opts) = $regex =~ m{^ /(.*)/ (\w*) $ }sx ) {
$usable_regex = length $opts ? "(?$opts)$re" : $re;
};
return($usable_regex)
};
src/inc/Test/Builder.pm view on Meta::CPAN
}
{
local $^W = 0;
my $test = $this =~ /$usable_regex/ ? 1 : 0;
$test = !$test if $cmp eq '!~';
$ok = $self->ok( $test, $name );
}
unless( $ok ) {
$this = defined $this ? "'$this'" : 'undef';
my $match = $cmp eq '=~' ? "doesn't match" : "matches";
$self->diag(sprintf <<DIAGNOSTIC, $this, $match, $regex);
%s
%13s '%s'
DIAGNOSTIC
}
return $ok;
}
src/inc/Test/Builder.pm view on Meta::CPAN
else {
$self->_cmp_diag($got, $type, $expect);
}
}
return $ok;
}
sub _cmp_diag {
my($self, $got, $type, $expect) = @_;
$got = defined $got ? "'$got'" : 'undef';
$expect = defined $expect ? "'$expect'" : 'undef';
return $self->diag(sprintf <<DIAGNOSTIC, $got, $type, $expect);
%s
%s
%s
DIAGNOSTIC
}
sub BAILOUT {
my($self, $reason) = @_;
src/inc/Test/Builder.pm view on Meta::CPAN
sub diag {
my($self, @msgs) = @_;
return unless @msgs;
# Prevent printing headers when compiling (i.e. -c)
return if $^C;
# Escape each line with a #.
foreach (@msgs) {
$_ = 'undef' unless defined;
s/^/# /gms;
}
push @msgs, "\n" unless $msgs[-1] =~ /\n\Z/;
local $Level = $Level + 1;
my $fh = $self->todo ? $self->todo_output : $self->failure_output;
local($\, $", $,) = (undef, ' ', '');
print $fh @msgs;
return 0;
}
sub _print {
my($self, @msgs) = @_;
# Prevent printing headers when only compiling. Mostly for when
# tests are deparsed with B::Deparse
return if $^C;
local($\, $", $,) = (undef, ' ', '');
my $fh = $self->output;
# Escape each line after the first with a # so we don't
# confuse Test::Harness.
foreach (@msgs) {
s/\n(.)/\n# $1/sg;
}
push @msgs, "\n" unless $msgs[-1] =~ /\n\Z/;
src/inc/Test/Builder.pm view on Meta::CPAN
Carp::croak("Can't change the current test number without a plan!");
}
$Curr_Test = $num;
if( $num > @Test_Results ) {
my $start = @Test_Results ? $#Test_Results + 1 : 0;
for ($start..$num-1) {
my %result;
share(%result);
%result = ( ok => 1,
actual_ok => undef,
reason => 'incrementing test number',
type => 'unknown',
name => undef
);
$Test_Results[$_] = \%result;
}
}
}
return $Curr_Test;
}
src/inc/Test/More.pm view on Meta::CPAN
);
my $Test = Test::Builder->new;
# 5.004's Exporter doesn't have export_to_level.
sub _export_to_level
{
my $pkg = shift;
my $level = shift;
(undef) = shift; # redundant arg
my $callpkg = caller($level);
$pkg->export($callpkg, @_);
}
sub plan {
my(@plan) = @_;
my $caller = caller;
src/inc/Test/More.pm view on Meta::CPAN
}
my @vals = @{$Stack[-1]{vals}}[0,1];
my @vars = ();
($vars[0] = $var) =~ s/\$FOO/ \$got/;
($vars[1] = $var) =~ s/\$FOO/\$expected/;
my $out = "Structures begin differing at:\n";
foreach my $idx (0..$#vals) {
my $val = $vals[$idx];
$vals[$idx] = !defined $val ? 'undef' :
$val eq $DNE ? "Does not exist"
: "'$val'";
}
$out .= "$vars[0] = $vals[0]\n";
$out .= "$vars[1] = $vals[1]\n";
$out =~ s/^/ /msg;
return $out;
}
src/inc/Test/More.pm view on Meta::CPAN
}
return $ok;
}
sub _deep_check {
my($e1, $e2) = @_;
my $ok = 0;
my $eq;
{
# Quiet uninitialized value warnings when comparing undefs.
local $^W = 0;
if( $e1 eq $e2 ) {
$ok = 1;
}
else {
if( UNIVERSAL::isa($e1, 'ARRAY') and
UNIVERSAL::isa($e2, 'ARRAY') )
{
$ok = eq_array($e1, $e2);
src/inc/version.pm view on Meta::CPAN
my $LAX_DOTTED_DECIMAL_VERSION =
qr/
v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
|
$LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
/x;
# Complete lax version number syntax -- should generally be used
# anchored: qr/ \A $LAX \z /x
#
# The string 'undef' is a special case to make for easier handling
# of return values from ExtUtils::MM->parse_version
$LAX =
qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
#--------------------------------------------------------------------------#
{
local $SIG{'__DIE__'};
eval "use version::vxs $VERSION";
if ( $@ ) { # don't have the XS version installed
eval "use version::vpp $VERSION"; # don't tempt fate
die "$@" if ( $@ );
push @ISA, "version::vpp";
src/inc/version/vpp.pm view on Meta::CPAN
$s = new charstar $s;
while (isSPACE($s)) { # leading whitespace is OK
$s++;
}
$last = prescan_version($s, FALSE, \$errstr, \$qv, \$saw_decimal,
\$width, \$alpha);
if ($errstr) {
# 'undef' is a special case and not an error
if ( $s ne 'undef') {
use Carp;
Carp::croak($errstr);
}
}
$start = $s;
if ($s eq 'v') {
$s++;
}
$pos = $s;
src/inc/version/vpp.pm view on Meta::CPAN
}
}
else {
$$rv->{original} = '0';
push(@av, 0);
}
# And finally, store the AV in the hash
$$rv->{version} = \@av;
# fix RT#19517 - special case 'undef' as string
if ($s eq 'undef') {
$s += 5;
}
return $s;
}
sub new
{
my ($class, $value) = @_;
my $self = bless ({}, ref ($class) || $class);
src/inc/version/vpp.pm view on Meta::CPAN
my $currlocale = setlocale(LC_ALL);
# if the current locale uses commas for decimal points, we
# just replace commas with decimal places, rather than changing
# locales
if ( localeconv()->{decimal_point} eq ',' ) {
$value =~ tr/,/./;
}
if ( not defined $value or $value =~ /^undef$/ ) {
# RT #19517 - special case for undef comparison
# or someone forgot to pass a value
push @{$self->{version}}, 0;
$self->{original} = "0";
return ($self);
}
if ( $#_ == 2 ) { # must be CVS-style
$value = $_[2];
$qv = TRUE;
}
src/inc/version/vpp.pm view on Meta::CPAN
}
}
return $value;
}
sub _find_magic_vstring {
my $value = shift;
my $tvalue = '';
require B;
my $sv = B::svref_2object(\$value);
my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
while ( $magic ) {
if ( $magic->TYPE eq 'V' ) {
$tvalue = $magic->PTR;
$tvalue =~ s/^v?(.+)$/v$1/;
last;
}
else {
$magic = $magic->MOREMAGIC;
}
}
src/inc/version/vpp.pm view on Meta::CPAN
else {
Carp::croak(
sprintf ("%s version %s required--".
"this is only version %s", $class,
$req->stringify, $version->stringify)
);
}
}
}
return defined $version ? $version->stringify : undef;
}
1; #this line is important and will help the module return a true value
src/ppport.h view on Meta::CPAN
PL_rsfp_filters|5.019002||p
PL_rsfp|5.019002||p
PL_rs|||n
PL_signals|5.008001||p
PL_stack_base|5.004050||p
PL_stack_sp|5.004050||p
PL_statcache|5.005000||p
PL_stdingv|5.004050||p
PL_sv_arenaroot|5.004050||p
PL_sv_no|5.004050||pn
PL_sv_undef|5.004050||pn
PL_sv_yes|5.004050||pn
PL_tainted|5.004050||p
PL_tainting|5.004050||p
PL_tokenbuf|5.019002||p
POP_MULTICALL||5.019003|
POPi|||n
POPl|||n
POPn|||n
POPpbytex||5.007001|n
POPpx||5.005030|n
src/ppport.h view on Meta::CPAN
av_iter_p||5.011000|
av_len|||
av_make|||
av_pop|||
av_push|||
av_reify|||
av_shift|||
av_store|||
av_tindex||5.017009|
av_top_index||5.017009|
av_undef|||
av_unshift|||
ax|||n
bad_type_gv|||
bad_type_pv|||
bind_match|||
block_end|||
block_gimme||5.004000|
block_start|||
blockhook_register||5.013003|
boolSV|5.004000||p
src/ppport.h view on Meta::CPAN
custom_op_xop||5.013007|
cv_ckproto_len_flags|||
cv_clone_into|||
cv_clone|||
cv_const_sv_or_av|||
cv_const_sv||5.004000|
cv_dump|||
cv_forget_slab|||
cv_get_call_checker||5.013006|
cv_set_call_checker||5.013006|
cv_undef|||
cvgv_set|||
cvstash_set|||
cx_dump||5.005000|
cx_dup|||
cxinc|||
dAXMARK|5.009003||p
dAX|5.007002||p
dITEMS|5.007002||p
dMARK|||
dMULTICALL||5.009003|
src/ppport.h view on Meta::CPAN
finalize_op|||
find_and_forget_pmops|||
find_array_subscript|||
find_beginning|||
find_byclass|||
find_hash_subscript|||
find_in_my_stash|||
find_lexical_cv|||
find_runcv_where|||
find_runcv||5.008001|
find_rundefsv2|||
find_rundefsvoffset||5.009002|
find_rundefsv||5.013002|
find_script|||
find_uninit_var|||
first_symbol|||n
foldEQ_latin1||5.013008|n
foldEQ_locale||5.013002|n
foldEQ_utf8_flags||5.013010|
foldEQ_utf8||5.013002|
foldEQ||5.013002|n
fold_constants|||
forbid_setid|||
src/ppport.h view on Meta::CPAN
hv_placeholders_p|||
hv_placeholders_set||5.009003|
hv_rand_set||5.017011|
hv_riter_p||5.009003|
hv_riter_set||5.009003|
hv_scalar||5.009001|
hv_store_ent||5.004000|
hv_store_flags||5.008000|
hv_stores|5.009004||p
hv_store|||
hv_undef_flags|||
hv_undef|||
ibcmp_locale||5.004000|
ibcmp_utf8||5.007003|
ibcmp|||
incline|||
incpush_if_exists|||
incpush_use_sep|||
incpush|||
ingroup|||
init_argv_symbols|||
init_constants|||
src/ppport.h view on Meta::CPAN
while (<DATA>) {
if ($hint) {
my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
if (m{^\s*\*\s(.*?)\s*$}) {
for (@{$hint->[1]}) {
$h->{$_} ||= ''; # suppress warning with older perls
$h->{$_} .= "$1\n";
}
}
else { undef $hint }
}
$hint = [$1, [split /,?\s+/, $2]]
if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
if ($define) {
if ($define->[1] =~ /\\$/) {
$define->[1] .= $_;
}
else {
if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
my @n = find_api($define->[1]);
push @{$depends{$define->[0]}}, @n if @n
}
undef $define;
}
}
$define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
if ($function) {
if (/^}/) {
if (exists $API{$function->[0]}) {
my @n = find_api($function->[1]);
push @{$depends{$function->[0]}}, @n if @n
}
undef $function;
}
else {
$function->[1] .= $_;
}
}
$function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
$replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
$replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
src/ppport.h view on Meta::CPAN
unlink $tmp;
return $diff;
}
unlink $tmp;
}
else {
error("Cannot open '$tmp' for writing: $!");
}
return undef;
}
sub rec_depend
{
my($func, $seen) = @_;
return () unless exists $depends{$func};
$seen = {%{$seen||{}}};
return () if $seen->{$func}++;
my %s;
grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
src/ppport.h view on Meta::CPAN
#endif
#ifndef PTR2UV
# define PTR2UV(p) INT2PTR(UV,p)
#endif
#ifndef PTR2NV
# define PTR2NV(p) NUM2PTR(NV,p)
#endif
#undef START_EXTERN_C
#undef END_EXTERN_C
#undef EXTERN_C
#ifdef __cplusplus
# define START_EXTERN_C extern "C" {
# define END_EXTERN_C }
# define EXTERN_C extern "C"
#else
# define START_EXTERN_C
# define END_EXTERN_C
# define EXTERN_C extern
#endif
src/ppport.h view on Meta::CPAN
# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
# endif
#endif
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
# ifndef PERL_USE_GCC_BRACE_GROUPS
# define PERL_USE_GCC_BRACE_GROUPS
# endif
#endif
#undef STMT_START
#undef STMT_END
#ifdef PERL_USE_GCC_BRACE_GROUPS
# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
# define STMT_END )
#else
# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
# define STMT_START if (1)
# define STMT_END else (void)0
# else
# define STMT_START do
# define STMT_END while (0)
src/ppport.h view on Meta::CPAN
#endif
#ifndef dAXMARK
# define dAXMARK I32 ax = POPMARK; \
register SV ** const mark = PL_stack_base + ax++
#endif
#ifndef XSprePUSH
# define XSprePUSH (sp = PL_stack_base + ax - 1)
#endif
#if (PERL_BCDVERSION < 0x5005000)
# undef XSRETURN
# define XSRETURN(off) \
STMT_START { \
PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
return; \
} STMT_END
#endif
#ifndef XSPROTO
# define XSPROTO(name) void name(pTHX_ CV* cv)
#endif
src/ppport.h view on Meta::CPAN
# define isXDIGIT(c) isxdigit(c)
#endif
#else
# if (PERL_BCDVERSION < 0x5010000)
/* Hint: isPRINT
* The implementation in older perl versions includes all of the
* isSPACE() characters, which is wrong. The version provided by
* Devel::PPPort always overrides a present buggy version.
*/
# undef isPRINT
# endif
#ifdef HAS_QUAD
# define WIDEST_UTYPE U64TYPE
#else
# define WIDEST_UTYPE U32
#endif
#ifndef isALNUMC
# define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
#endif
src/ppport.h view on Meta::CPAN
# define PL_perl_destruct_level perl_destruct_level
# define PL_perldb perldb
# define PL_rsfp_filters rsfp_filters
# define PL_rsfp rsfp
# define PL_stack_base stack_base
# define PL_stack_sp stack_sp
# define PL_statcache statcache
# define PL_stdingv stdingv
# define PL_sv_arenaroot sv_arenaroot
# define PL_sv_no sv_no
# define PL_sv_undef sv_undef
# define PL_sv_yes sv_yes
# define PL_tainted tainted
# define PL_tainting tainting
# define PL_tokenbuf tokenbuf
/* Replace: 0 */
#endif
/* Warning: PL_parser
* For perl versions earlier than 5.9.5, this is an always
* non-NULL dummy. Also, it cannot be dereferenced. Don't
src/ppport.h view on Meta::CPAN
# define PERL_LOADMOD_NOIMPORT 0x2
#endif
#ifndef PERL_LOADMOD_IMPORT_OPS
# define PERL_LOADMOD_IMPORT_OPS 0x4
#endif
#ifndef G_METHOD
# define G_METHOD 64
# ifdef call_sv
# undef call_sv
# endif
# if (PERL_BCDVERSION < 0x5006000)
# define call_sv(sv, flags) ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \
(flags) & ~G_METHOD) : perl_call_sv(sv, flags))
# else
# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \
(flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags))
# endif
#endif
src/ppport.h view on Meta::CPAN
#ifndef eval_pv
#if defined(NEED_eval_pv)
static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
static
#else
extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
#endif
#ifdef eval_pv
# undef eval_pv
#endif
#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b)
#define Perl_eval_pv DPPP_(my_eval_pv)
#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
SV*
DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
{
dSP;
src/ppport.h view on Meta::CPAN
#ifndef vload_module
#if defined(NEED_vload_module)
static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
static
#else
extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
#endif
#ifdef vload_module
# undef vload_module
#endif
#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d)
#define Perl_vload_module DPPP_(my_vload_module)
#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
void
DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
{
dTHR;
src/ppport.h view on Meta::CPAN
#ifndef load_module
#if defined(NEED_load_module)
static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
static
#else
extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
#endif
#ifdef load_module
# undef load_module
#endif
#define load_module DPPP_(my_load_module)
#define Perl_load_module DPPP_(my_load_module)
#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
void
DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...)
{
va_list args;
src/ppport.h view on Meta::CPAN
#ifndef newRV_noinc
#if defined(NEED_newRV_noinc)
static SV * DPPP_(my_newRV_noinc)(SV *sv);
static
#else
extern SV * DPPP_(my_newRV_noinc)(SV *sv);
#endif
#ifdef newRV_noinc
# undef newRV_noinc
#endif
#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a)
#define Perl_newRV_noinc DPPP_(my_newRV_noinc)
#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
SV *
DPPP_(my_newRV_noinc)(SV *sv)
{
SV *rv = (SV *)newRV(sv);
SvREFCNT_dec(sv);
src/ppport.h view on Meta::CPAN
/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
#if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005)
#if defined(NEED_newCONSTSUB)
static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
static
#else
extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
#endif
#ifdef newCONSTSUB
# undef newCONSTSUB
#endif
#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
/* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */
/* (There's no PL_parser in perl < 5.005, so this is completely safe) */
#define D_PPP_PL_copline PL_copline
src/ppport.h view on Meta::CPAN
#ifndef newSV_type
#if defined(NEED_newSV_type)
static SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
static
#else
extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
#endif
#ifdef newSV_type
# undef newSV_type
#endif
#define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a)
#define Perl_newSV_type DPPP_(my_newSV_type)
#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL)
SV*
DPPP_(my_newSV_type)(pTHX_ svtype const t)
{
SV* const sv = newSV(0);
src/ppport.h view on Meta::CPAN
#ifndef newSVpvn_flags
#if defined(NEED_newSVpvn_flags)
static SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags);
static
#else
extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags);
#endif
#ifdef newSVpvn_flags
# undef newSVpvn_flags
#endif
#define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c)
#define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags)
#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL)
SV *
DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags)
{
SV *sv = newSVpvn(D_PPP_CONSTPV_ARG(s), len);
src/ppport.h view on Meta::CPAN
#if (PERL_BCDVERSION < 0x5007000)
#if defined(NEED_sv_2pvbyte)
static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp);
static
#else
extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp);
#endif
#ifdef sv_2pvbyte
# undef sv_2pvbyte
#endif
#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b)
#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte)
#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
char *
DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp)
{
sv_utf8_downgrade(sv,0);
return SvPV(sv,*lp);
}
#endif
/* Hint: sv_2pvbyte
* Use the SvPVbyte() macro instead of sv_2pvbyte().
*/
#undef SvPVbyte
#define SvPVbyte(sv, lp) \
((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
#endif
#else
# define SvPVbyte SvPV
src/ppport.h view on Meta::CPAN
#endif
/* Hint: sv_pvn
* Always use the SvPV() macro instead of sv_pvn().
*/
/* Hint: sv_pvn_force
* Always use the SvPV_force() macro instead of sv_pvn_force().
*/
/* If these are undefined, they're not handled by the core anyway */
#ifndef SV_IMMEDIATE_UNREF
# define SV_IMMEDIATE_UNREF 0
#endif
#ifndef SV_GMAGIC
# define SV_GMAGIC 0
#endif
#ifndef SV_COW_DROP_PV
# define SV_COW_DROP_PV 0
src/ppport.h view on Meta::CPAN
#if (PERL_BCDVERSION < 0x5007002)
#if defined(NEED_sv_2pv_flags)
static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
static
#else
extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
#endif
#ifdef sv_2pv_flags
# undef sv_2pv_flags
#endif
#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c)
#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags)
#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
char *
DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
{
STRLEN n_a = (STRLEN) flags;
src/ppport.h view on Meta::CPAN
#endif
#if defined(NEED_sv_pvn_force_flags)
static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
static
#else
extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
#endif
#ifdef sv_pvn_force_flags
# undef sv_pvn_force_flags
#endif
#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c)
#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags)
#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
char *
DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
{
STRLEN n_a = (STRLEN) flags;
src/ppport.h view on Meta::CPAN
#if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf)
#if defined(NEED_vnewSVpvf)
static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args);
static
#else
extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args);
#endif
#ifdef vnewSVpvf
# undef vnewSVpvf
#endif
#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b)
#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf)
#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
SV *
DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args)
{
register SV *sv = newSV(0);
src/ppport.h view on Meta::CPAN
#ifndef newSVpvn_share
#if defined(NEED_newSVpvn_share)
static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
static
#else
extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
#endif
#ifdef newSVpvn_share
# undef newSVpvn_share
#endif
#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c)
#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share)
#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
SV *
DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
{
SV *sv;
src/ppport.h view on Meta::CPAN
#if !defined(mg_findext)
#if defined(NEED_mg_findext)
static MAGIC * DPPP_(my_mg_findext)(pTHX_ SV * sv, int type, const MGVTBL *vtbl);
static
#else
extern MAGIC * DPPP_(my_mg_findext)(pTHX_ SV * sv, int type, const MGVTBL *vtbl);
#endif
#ifdef mg_findext
# undef mg_findext
#endif
#define mg_findext(a,b,c) DPPP_(my_mg_findext)(aTHX_ a,b,c)
#define Perl_mg_findext DPPP_(my_mg_findext)
#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL)
MAGIC *
DPPP_(my_mg_findext)(pTHX_ SV * sv, int type, const MGVTBL *vtbl) {
if (sv) {
MAGIC *mg;
src/ppport.h view on Meta::CPAN
#if !defined(sv_unmagicext)
#if defined(NEED_sv_unmagicext)
static int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl);
static
#else
extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl);
#endif
#ifdef sv_unmagicext
# undef sv_unmagicext
#endif
#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c)
#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext)
#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL)
int
DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl)
{
MAGIC* mg;
src/ppport.h view on Meta::CPAN
#ifndef grok_numeric_radix
#if defined(NEED_grok_numeric_radix)
static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
static
#else
extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
#endif
#ifdef grok_numeric_radix
# undef grok_numeric_radix
#endif
#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b)
#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix)
#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
bool
DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send)
{
#ifdef USE_LOCALE_NUMERIC
#ifdef PL_numeric_radix_sv
src/ppport.h view on Meta::CPAN
#ifndef grok_number
#if defined(NEED_grok_number)
static int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
static
#else
extern int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
#endif
#ifdef grok_number
# undef grok_number
#endif
#define grok_number(a,b,c) DPPP_(my_grok_number)(aTHX_ a,b,c)
#define Perl_grok_number DPPP_(my_grok_number)
#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL)
int
DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
{
const char *s = pv;
const char *send = pv + len;
src/ppport.h view on Meta::CPAN
#ifndef grok_bin
#if defined(NEED_grok_bin)
static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
static
#else
extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
#ifdef grok_bin
# undef grok_bin
#endif
#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d)
#define Perl_grok_bin DPPP_(my_grok_bin)
#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)
UV
DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
const char *s = start;
STRLEN len = *len_p;
src/ppport.h view on Meta::CPAN
#ifndef grok_hex
#if defined(NEED_grok_hex)
static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
static
#else
extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
#ifdef grok_hex
# undef grok_hex
#endif
#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d)
#define Perl_grok_hex DPPP_(my_grok_hex)
#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL)
UV
DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
const char *s = start;
STRLEN len = *len_p;
src/ppport.h view on Meta::CPAN
#ifndef grok_oct
#if defined(NEED_grok_oct)
static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
static
#else
extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
#ifdef grok_oct
# undef grok_oct
#endif
#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d)
#define Perl_grok_oct DPPP_(my_grok_oct)
#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL)
UV
DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
const char *s = start;
STRLEN len = *len_p;
src/ppport.h view on Meta::CPAN
#ifndef pv_escape
#if defined(NEED_pv_escape)
static char * DPPP_(my_pv_escape)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags);
static
#else
extern char * DPPP_(my_pv_escape)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags);
#endif
#ifdef pv_escape
# undef pv_escape
#endif
#define pv_escape(a,b,c,d,e,f) DPPP_(my_pv_escape)(aTHX_ a,b,c,d,e,f)
#define Perl_pv_escape DPPP_(my_pv_escape)
#if defined(NEED_pv_escape) || defined(NEED_pv_escape_GLOBAL)
char *
DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str,
const STRLEN count, const STRLEN max,
STRLEN * const escaped, const U32 flags)
src/ppport.h view on Meta::CPAN
#ifndef pv_pretty
#if defined(NEED_pv_pretty)
static char * DPPP_(my_pv_pretty)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags);
static
#else
extern char * DPPP_(my_pv_pretty)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags);
#endif
#ifdef pv_pretty
# undef pv_pretty
#endif
#define pv_pretty(a,b,c,d,e,f,g) DPPP_(my_pv_pretty)(aTHX_ a,b,c,d,e,f,g)
#define Perl_pv_pretty DPPP_(my_pv_pretty)
#if defined(NEED_pv_pretty) || defined(NEED_pv_pretty_GLOBAL)
char *
DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count,
const STRLEN max, char const * const start_color, char const * const end_color,
const U32 flags)
src/ppport.h view on Meta::CPAN
#ifndef pv_display
#if defined(NEED_pv_display)
static char * DPPP_(my_pv_display)(pTHX_ SV * dsv, const char * pv, STRLEN cur, STRLEN len, STRLEN pvlim);
static
#else
extern char * DPPP_(my_pv_display)(pTHX_ SV * dsv, const char * pv, STRLEN cur, STRLEN len, STRLEN pvlim);
#endif
#ifdef pv_display
# undef pv_display
#endif
#define pv_display(a,b,c,d,e) DPPP_(my_pv_display)(aTHX_ a,b,c,d,e)
#define Perl_pv_display DPPP_(my_pv_display)
#if defined(NEED_pv_display) || defined(NEED_pv_display_GLOBAL)
char *
DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
{
pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP);