AFS
view release on metacpan or search on metacpan
{
int32 code;
int32 id, oid;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = internal_pr_id(server, owner, &oid, 0);
if (code == 0)
code = ubik_Call(PR_ChangeEntry, server, 0, id, "", oid, 0);
SETCODE(code);
ST(0) = sv_2mortal(newSViv(code == 0));
XSRETURN(1);
}
void
pts_chid(server,name,newid)
AFS::PTS server
char * name
int32 newid
PPCODE:
{
int32 code;
int32 id;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = ubik_Call(PR_ChangeEntry, server, 0, id, "", 0, newid);
SETCODE(code);
ST(0) = sv_2mortal(newSViv(code == 0));
XSRETURN(1);
}
void
pts_PR_ChangeEntry(server,id,name,oid,newid)
AFS::PTS server
int32 id
char * name
int32 oid
int32 newid
PPCODE:
{
int32 code;
if (name && !*name)
name = NULL;
code = ubik_Call(PR_ChangeEntry, server, 0, id, name, oid, newid);
SETCODE(code);
ST(0) = sv_2mortal(newSViv(code == 0));
XSRETURN(1);
}
void
pts_adduser(server,name,group)
AFS::PTS server
char * name
char * group
PPCODE:
{
int32 code, id, gid;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = internal_pr_id(server, group, &gid, 0);
if (code == 0)
code = ubik_Call(PR_AddToGroup, server, 0, id, gid);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_PR_AddToGroup(server,uid,gid)
AFS::PTS server
int32 uid
int32 gid
PPCODE:
{
int32 code;
code = ubik_Call(PR_AddToGroup, server, 0, uid, gid);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_removeuser(server,name,group)
AFS::PTS server
char * name
char * group
PPCODE:
{
int32 code, id, gid;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = internal_pr_id(server, group, &gid, 0);
if (code == 0)
code = ubik_Call(PR_RemoveFromGroup, server, 0, id, gid);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_PR_RemoveFromGroup(server,uid,gid)
AFS::PTS server
int uid
int gid
PPCODE:
{
int32 code;
code = ubik_Call(PR_RemoveFromGroup, server, 0, uid, gid);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_delete(server,name)
AFS::PTS server
char * name
PPCODE:
{
int32 code, id;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = ubik_Call(PR_Delete, server, 0, id);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_PR_Delete(server,id)
AFS::PTS server
int32 id
PPCODE:
{
int32 code;
code = ubik_Call(PR_Delete, server, 0, id);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_whereisit(server,name)
AFS::PTS server
char * name
PPCODE:
{
int32 code, id, pos;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = ubik_Call(PR_WhereIsIt, server, 0, id, &pos);
SETCODE(code);
ST(0) = sv_newmortal();
if (code == 0)
sv_setiv(ST(0), pos);
XSRETURN(1);
}
void
pts_PR_WhereIsIt(server,id)
AFS::PTS server
int32 id
PPCODE:
{
int32 code,pos;
code = ubik_Call(PR_WhereIsIt, server, 0, id, &pos);
SETCODE(code);
ST(0) = sv_newmortal();
if (code == 0)
sv_setiv(ST(0), pos);
XSRETURN(1);
}
void
pts_listmax(server)
AFS::PTS server
PPCODE:
{
int32 code, uid, gid;
code = ubik_Call(PR_ListMax, server, 0, &uid, &gid);
SETCODE(code);
if (code == 0) {
EXTEND(sp, 2);
PUSHs(sv_2mortal(newSViv(uid)));
PUSHs(sv_2mortal(newSViv(gid)));
}
}
void
pts_PR_ListMax(server)
AFS::PTS server
PPCODE:
{
int32 code, uid, gid;
code = ubik_Call(PR_ListMax, server, 0, &uid, &gid);
SETCODE(code);
if (code == 0) {
EXTEND(sp, 2);
PUSHs(sv_2mortal(newSViv(uid)));
PUSHs(sv_2mortal(newSViv(gid)));
}
}
void
pts_setmax(server,id,isgroup=0)
AFS::PTS server
int32 id
int32 isgroup
PPCODE:
{
int32 code, flag;
flag = 0;
if (isgroup)
flag |= PRGRP;
code = ubik_Call(PR_SetMax, server, 0, id, flag);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_PR_SetMax(server,id,gflag)
AFS::PTS server
int32 id
int32 gflag
PPCODE:
{
int32 code;
code = ubik_Call(PR_SetMax, server, 0, id, gflag);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_setgroupquota(server,name,ngroups)
AFS::PTS server
char * name
int32 ngroups
PPCODE:
{
int32 code, id, mask;
code = internal_pr_id(server, name, &id, 0);
if (code == 0) {
mask = PR_SF_NGROUPS;
code = ubik_Call(PR_SetFieldsEntry, server, 0, id, mask, 0, ngroups, 0, 0, 0);
}
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_PR_SetFieldsEntry(server,id,mask,flags,ngroups,nusers,spare1,spare2)
AFS::PTS server
int32 id
int32 mask
int32 flags
int32 ngroups
int32 nusers
int32 spare1
int32 spare2
PPCODE:
{
int32 code;
code = ubik_Call(PR_SetFieldsEntry, server, 0,
id, mask, flags, ngroups, nusers, spare1, spare2);
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_setaccess(server,name,access)
AFS::PTS server
char * name
char * access
PPCODE:
{
int32 code, id, flags, mask;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = parse_pts_setfields(access, &flags);
if (code == 0) {
mask = PR_SF_ALLBITS;
code = ubik_Call(PR_SetFieldsEntry, server, 0, id, mask, flags, 0, 0, 0, 0);
}
SETCODE(code);
ST(0) = sv_newmortal();
sv_setiv(ST(0), (code == 0));
XSRETURN(1);
}
void
pts_ismember(server,name,group)
AFS::PTS server
char * name
char * group
PPCODE:
{
int32 code, id, gid, flag;
code = internal_pr_id(server, name, &id, 0);
if (code == 0)
code = internal_pr_id(server, group, &gid, 0);
if (code == 0)
code = ubik_Call(PR_IsAMemberOf, server, 0, id, gid, &flag);
SETCODE(code);
ST(0) = sv_newmortal();
if (code == 0)
sv_setiv(ST(0), (flag != 0));
XSRETURN(1);
}
void
pts_PR_IsAMemberOf(server,uid,gid)
AFS::PTS server
int32 uid
int32 gid
PPCODE:
{
int32 code, flag;
code = ubik_Call(PR_IsAMemberOf, server, 0, uid, gid, &flag);
SETCODE(code);
ST(0) = sv_newmortal();
if (code == 0)
sv_setiv(ST(0), (flag != 0));
XSRETURN(1);
}
MODULE = AFS PACKAGE = AFS::KAS PREFIX = kas_
int32
kas__DESTROY(server)
AFS::KAS server
CODE:
{
int32 code;
code = ubik_ClientDestroy(server);
SETCODE(code);
RETVAL = (code == 0);
}
OUTPUT:
RETVAL
void
kas_KAM_GetEntry(server,user,inst)
AFS::KAS server
char * user
char * inst
PPCODE:
{
int32 code;
struct kaentryinfo entry;
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:
{
int32 code;
struct ka_debugInfo entry;
code = ubik_Call(KAM_Debug, server, 0, version, 0, &entry);
SETCODE(code);
if (code == 0) {
HV *stats = newHV();
( run in 0.514 second using v1.01-cache-2.11-cpan-ceb78f64989 )