view release on metacpan or search on metacpan
}
}
MODULE = DCE::ACL PACKAGE = DCE::ACL::handle PREFIX = sec_acl_
void
sec_acl_DESTROY(handle)
DCE::ACL::handle handle
PPCODE:
{
error_status_t status;
/* some problems here on DEC & Solaris */
#ifdef HPUX
sec_acl_release_handle(handle, &status);
#endif
}
void
sec_acl_get_manager_types(handle, sec_acl_type=sec_acl_type_object, size_avail=1)
DCE::ACL::handle handle
sec_acl_type_t sec_acl_type
unsigned32 size_avail
PPCODE:
{
unsigned32 size_used, num_types;
uuid_t *manager_types = malloc(sizeof(uuid_t) * size_avail);
error_status_t status;
SV *uuid_sv;
AV *av;
int i;
if (! manager_types) croak("malloc");
sec_acl_get_manager_types(handle, sec_acl_type, size_avail,
free(manager_types);
}
void
sec_acl_replace(handle, mgr_sv, sec_acl_type, l)
DCE::ACL::handle handle
SV *mgr_sv
sec_acl_type_t sec_acl_type
DCE::ACL::list l
PPCODE:
{
error_status_t status;
uuid_t manager_type;
SNAG_FIRST_MANAGER(handle, manager_type, sec_acl_type, mgr_sv);
sec_acl_replace(handle, &manager_type, sec_acl_type, l, &status);
DCESTATUS;
}
void
sec_acl_get_printstring(handle, mgr_sv=&PL_sv_undef, printstring_len=32)
DCE::ACL::handle handle
SV *mgr_sv
unsigned32 printstring_len
PPCODE:
{
uuid_t manager_type, manager_type_chain;
sec_acl_printstring_t manager_info;
boolean32 tokenize;
unsigned32 total_num_printstrings, num_printstrings;
sec_acl_printstring_t *printstrings = malloc(printstring_len*sizeof(sec_acl_printstring_t));
error_status_t status;
HV *hv, *info_hv;
AV *av;
SV *uuid_sv, *info;
XPUSHs(newRV((SV*)av));
free(printstrings);
}
void
sec_acl_test_access(handle, mgr_sv, permset)
DCE::ACL::handle handle
SV *mgr_sv
sec_acl_permset_t permset
PPCODE:
{
uuid_t manager_type;
error_status_t status;
boolean32 res;
SNAG_FIRST_MANAGER(handle, manager_type, sec_acl_type_object, mgr_sv);
res = sec_acl_test_access(handle, &manager_type, permset, &status);
XPUSHs_iv(res);
if(WANTARRAY)
DCESTATUS;
}
void
sec_acl_test_access_on_behalf(handle, uuid, pac, desired_permset)
DCE::ACL::handle handle
SV *uuid
SV *pac
sec_acl_permset_t desired_permset
PPCODE:
{
uuid_t mgr_type;
sec_id_pac_t subject;
error_status_t status;
boolean32 res;
HV *hv, *id;
SV **svp;
subject.pac_type = sec_id_pac_format_v1;
hv = (HV*)SvRV(pac);
XPUSHs_iv(res);
if(WANTARRAY)
DCESTATUS;
}
void
sec_acl_get_access(handle, mgr_sv)
DCE::ACL::handle handle
SV *mgr_sv
PPCODE:
{
sec_acl_permset_t permset;
uuid_t manager_type;
error_status_t status;
SNAG_FIRST_MANAGER(handle, manager_type, sec_acl_type_object, mgr_sv);
sec_acl_get_access(handle, &manager_type, &permset, &status);
XPUSHs_iv(permset);
DCESTATUS;
}
void
sec_acl_lookup(handle, mgr_sv, sec_acl_type=sec_acl_type_object)
DCE::ACL::handle handle
SV *mgr_sv
sec_acl_type_t sec_acl_type
PPCODE:
{
sec_acl_list_t *l =
(sec_acl_list_t *)safemalloc(sizeof(sec_acl_list_t));
uuid_t manager_type;
error_status_t status, rstatus;
SV *list = sv_newmortal();
SNAG_FIRST_MANAGER(handle, manager_type, sec_acl_type_object, mgr_sv);
sec_acl_lookup(handle, &manager_type, sec_acl_type,
l, &status);
CODE:
RETVAL = l->num_acls;
OUTPUT:
RETVAL
DCE::ACL
acls(l, ...)
DCE::ACL::list l
PPCODE:
{
int i;
if(items > 1) {
i = (int)SvIV(ST(1));
BLESS_ACL(l->sec_acls[i]);
}
else {
if(WANTARRAY) {
for(i=0; i < l->num_acls; i++)
BLESS_ACL(l->sec_acls[i]);
}
}
MODULE = DCE::ACL PACKAGE = DCE::ACL PREFIX = dce_acl_obj_
void
dce_acl_obj_init(self, mgr_sv)
SV *self
SV *mgr_sv
PPCODE:
{
uuid_t manager_type;
sec_acl_t *acl = (sec_acl_t *)safemalloc(sizeof(sec_acl_t));
error_status_t status;
UUIDmagic_sv(manager_type, mgr_sv);
dce_acl_obj_init(&manager_type, acl, &status);
BLESS_ACL(acl);
if(WANTARRAY)
DCESTATUS;
}
void
dce_acl_obj_add_any_other_entry(acl, permset)
DCE::ACL acl
sec_acl_permset_t permset
PPCODE:
{
error_status_t status;
dce_acl_obj_add_any_other_entry(acl, permset, &status);
DCESTATUS;
}
MODULE = DCE::ACL PACKAGE = DCE::ACL PREFIX = sec_acl_
void
sec_acl_bind(package, entry_name, bind_to_entry=FALSE)
char *package
unsigned char *entry_name
boolean32 bind_to_entry
PPCODE:
{
sec_acl_handle_t handle;
error_status_t status;
SV *sv;
package = "DCE::ACL::handle";
sec_acl_bind(entry_name, bind_to_entry, &handle, &status);
CHK_STS(1);
BLESS_ACL_HANDLE;
}
void
sec_acl_bind_to_addr(package, site_addr, component_name)
char *package
unsigned char *site_addr
unsigned char *component_name
PPCODE:
{
sec_acl_handle_t handle;
error_status_t status;
SV *sv;
package = "DCE::ACL::handle";
sec_acl_bind_to_addr(site_addr, component_name, &handle, &status);
CHK_STS(1);
BLESS_ACL_HANDLE;
}
RETVAL = uuid_sv;
}
OUTPUT:
RETVAL
void
entries(acl, ...)
DCE::ACL acl
PPCODE:
{
int i;
if(items > 1) {
i = (int)SvIV(ST(1));
BLESS_ACL_ENTRY(&acl->sec_acl_entries[i]);
}
else {
for(i=0; i<acl->num_entries; i++)
BLESS_ACL_ENTRY(&acl->sec_acl_entries[i]);
}
}
OUTPUT:
RETVAL
void
add(acl, e)
DCE::ACL acl
DCE::ACL::entry e
PPCODE:
{
int i;
sec_acl_entry_t *new_sec_acl_entries;
boolean32 entry_found = FALSE;
error_status_t status;
SET_STATUS(&status, error_status_ok);
new_sec_acl_entries = (sec_acl_entry_t *)safemalloc(
(acl->num_entries + 1) * sizeof(sec_acl_entry_t));
acl->sec_acl_entries = new_sec_acl_entries;
acl->num_entries++;
DCESTATUS;
}
void
remove(acl, e)
DCE::ACL acl
DCE::ACL::entry e
PPCODE:
{
int i, j;
boolean32 entry_found = FALSE;
error_status_t status;
SET_STATUS(&status, error_status_ok);
/*
* We have existing ACL, now check for no ACL entries
*/
if ((acl->num_entries > 0) &&
Login/Login.xs view on Meta::CPAN
# this will get a sealed certificate for the principal from the secserver,
# and return a list of ($login_context, $status)
void
sec_login_setup_identity(package = "DCE::Login", principal, flags=sec_login_no_flags)
char *package
unsigned_char_p_t principal
sec_login_flags_t flags
PPCODE:
{
sec_login_handle_t login_context;
error_status_t status;
SV *sv;
sec_login_setup_identity(principal, flags, &login_context, &status);
BLESS_LOGIN_CONTEXT;
}
void
sec_login_get_current_context(package = "DCE::Login")
char *package
PPCODE:
{
sec_login_handle_t login_context;
error_status_t status;
SV *sv;
sec_login_get_current_context(&login_context, &status);
BLESS_LOGIN_CONTEXT;
}
void
sec_login_validate_identity(login_context, password)
DCE::Login login_context
char * password
PPCODE:
{
boolean32 reset_passwd, retval;
sec_login_auth_src_t auth_src;
error_status_t status;
sec_passwd_rec_t passwd;
/* load passwd struct */
passwd.key.key_type = sec_passwd_plain;
passwd.key.tagged_union.plain = password;
passwd.pepper = NULL;
Login/Login.xs view on Meta::CPAN
PUSHs_iv(reset_passwd);
PUSHs_iv(auth_src);
}
DCESTATUS;
}
void
sec_login_certify_identity(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
boolean32 retval;
retval = sec_login_certify_identity(login_context, &status);
if(GIMME == G_ARRAY)
XPUSHs_iv(retval);
DCESTATUS;
}
void
sec_login_valid_and_cert_ident(login_context, password)
DCE::Login login_context
char *password
PPCODE:
{
boolean32 reset_passwd, retval;
sec_login_auth_src_t auth_src;
error_status_t status;
sec_passwd_rec_t passwd;
sec_passwd_str_t pbuf;
strncpy((char *)pbuf, password, sec_passwd_str_max_len);
pbuf[sec_passwd_str_max_len] = '\0';
Login/Login.xs view on Meta::CPAN
EXTEND(sp,2);
PUSHs_iv(reset_passwd);
PUSHs_iv(auth_src);
DCESTATUS;
}
void
sec_login_set_context(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
sec_login_set_context(login_context, &status);
DCESTATUS;
}
void
sec_login_purge_context(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
sec_login_purge_context(&login_context, &status);
sv_setref_pv(ST(0), "DCE::Login", (void*)login_context);
DCESTATUS;
}
void
sec_login_release_context(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
sec_login_release_context(&login_context, &status);
sv_setref_pv(ST(0), "DCE::Login", (void*)login_context);
DCESTATUS;
}
void
sec_login_DESTROY(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
sec_login_release_context(&login_context, &status);
}
void
sec_login_get_expiration(login_context)
DCE::Login login_context
PPCODE:
{
signed32 identity_expiration;
error_status_t status;
sec_login_get_expiration(login_context, &identity_expiration, &status);
XPUSHs_iv(identity_expiration);
DCESTATUS;
}
void
sec_login_refresh_identity(login_context)
DCE::Login login_context
PPCODE:
{
error_status_t status;
sec_login_refresh_identity(login_context, &status);
DCESTATUS;
}
void
sec_login_import_context(package = "DCE::Login", buf_len, buf)
char *package;
unsigned32 buf_len
char * buf
PPCODE:
{
sec_login_handle_t login_context;
error_status_t status;
SV *sv;
sec_login_import_context(buf_len, buf, &login_context, &status);
BLESS_LOGIN_CONTEXT;
}
void
sec_login_export_context(login_context, buf_len)
DCE::Login login_context
unsigned32 buf_len
PPCODE:
{
char * buf;
unsigned32 len_used;
unsigned32 len_needed;
error_status_t status;
buf = malloc(buf_len);
sec_login_export_context(login_context, buf_len, buf, &len_used, &len_needed, &status);
EXTEND(sp, 3);
Login/Login.xs view on Meta::CPAN
PUSHs_iv(len_used);
PUSHs_iv(len_needed);
DCESTATUS;
free(buf);
}
void
sec_login_get_pwent(login_context)
DCE::Login login_context
PPCODE:
{
struct passwd *pwd;
error_status_t status;
HV *hv;
sec_login_get_pwent(login_context, (sec_login_passwd_t *)&pwd, &status);
iniHV;
hv_store(hv, "name", 4, newSVpv(pwd->pw_name,0),0);
hv_store(hv, "passwd", 6, newSVpv(pwd->pw_passwd,0),0);
Registry/Registry.xs view on Meta::CPAN
typedef sec_rgy_login_name_t * DCE__login_name;
MODULE = DCE::Registry PACKAGE = DCE::Registry PREFIX = sec_rgy_
PROTOTYPES: DISABLE
void
sec_rgy_DESTROY(rgy_context)
DCE::Registry rgy_context
PPCODE:
{
error_status_t status = error_status_ok;
if (rgy_context != sec_rgy_default_handle)
sec_rgy_site_close(rgy_context, &status);
DCESTATUS;
}
void
sec_rgy_site_default(package="DCE::Registry")
char * package;
PPCODE:
{
sec_rgy_handle_t rgy_context = sec_rgy_default_handle;
error_status_t status = error_status_ok;
SV *sv = sv_newmortal();
sv_setref_iv(sv,package,(int)rgy_context);
XPUSHs(sv);
DCESTATUS;
}
void
sec_rgy_site_bind(package="DCE::Registry",site_name="",hash_ref=&PL_sv_undef)
char * package
char * site_name
SV * hash_ref
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
STRLEN len;
sec_rgy_bind_auth_info_t auth_info;
SV *sv;
SV **svp;
HV *stash, *info;
FETCH_AUTH_INFO;
sec_rgy_site_bind(site_name, &auth_info, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_cell_bind(package="DCE::Registry",cell_name="",hash_ref=&PL_sv_undef)
char * package
char * cell_name
SV * hash_ref
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
STRLEN len;
sec_rgy_bind_auth_info_t auth_info;
SV *sv;
SV **svp;
HV *stash, *info;
FETCH_AUTH_INFO;
Registry/Registry.xs view on Meta::CPAN
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_bind_query(package="DCE::Registry",site_name="",hash_ref=&PL_sv_undef)
char * package
char * site_name
SV * hash_ref
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
STRLEN len;
sec_rgy_bind_auth_info_t auth_info;
SV *sv;
SV **svp;
HV *stash, *info;
FETCH_AUTH_INFO;
sec_rgy_site_bind_query(site_name, &auth_info, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_bind_update(package="DCE::Registry",site_name="",hash_ref=&PL_sv_undef)
char * package
char * site_name
SV * hash_ref
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
STRLEN len;
sec_rgy_bind_auth_info_t auth_info;
SV *sv;
SV **svp;
HV *stash, *info;
FETCH_AUTH_INFO;
sec_rgy_site_bind_update(site_name, &auth_info, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_open(package="DCE::Registry",site_name="")
char * package
char * site_name
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
HV *stash;
SV *sv;
sec_rgy_site_open(site_name, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_open_query(package="DCE::Registry",site_name="")
char * package
char * site_name
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
HV *stash;
SV *sv;
sec_rgy_site_open_query(site_name, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_open_update(package="DCE::Registry",site_name="")
char * package
char * site_name
PPCODE:
{
sec_rgy_handle_t rgy_context;
error_status_t status;
HV *stash;
SV *sv;
sec_rgy_site_open_update(site_name, &rgy_context, &status);
BLESS_RGY_CONTEXT;
}
void
sec_rgy_site_binding_get_info(rgy_context)
DCE::Registry rgy_context
PPCODE:
{
sec_rgy_bind_auth_info_t auth_info;
unsigned_char_t * cell_name;
unsigned_char_t * server_name;
unsigned_char_t * string_binding;
error_status_t status;
STRLEN len;
sec_rgy_site_binding_get_info(rgy_context, &cell_name,
&server_name, &string_binding, &auth_info, &status);
Registry/Registry.xs view on Meta::CPAN
DCESTATUS;
}
else
PUSHs_pv(cell_name);
}
unsigned_char_t *
sec_rgy_site_get(rgy_context)
DCE::Registry rgy_context
PPCODE:
{
unsigned_char_t * site_name;
error_status_t status;
sec_rgy_site_get(rgy_context, &site_name, &status);
XPUSHs_pv(site_name);
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_site_close(rgy_context)
DCE::Registry rgy_context
PPCODE:
{
error_status_t status;
sec_rgy_site_close(rgy_context, &status);
DCESTATUS;
}
boolean32
sec_rgy_site_is_readonly(rgy_context)
DCE::Registry rgy_context
Registry/Registry.xs view on Meta::CPAN
OUTPUT:
RETVAL
void
sec_rgy_pgo_unix_num_to_id(rgy_context, domain, unix_num)
DCE::Registry rgy_context
sec_rgy_domain_t domain
long unix_num
PPCODE:
{
uuid_t uuid_struct;
error_status_t status;
SV *uuid_sv;
sec_rgy_pgo_unix_num_to_id(rgy_context, domain, unix_num,
&uuid_struct, &status);
BLESS_UUID_mortal(uuid_struct);
XPUSHs(uuid_sv);
Registry/Registry.xs view on Meta::CPAN
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_unix_num_to_name(rgy_context, domain, unix_num)
DCE::Registry rgy_context
sec_rgy_domain_t domain
long unix_num
PPCODE:
{
char * name;
error_status_t status;
name = (char *) malloc(sizeof(char)* 1025);
sec_rgy_pgo_unix_num_to_name(rgy_context, domain, unix_num, name, &status);
XPUSHs_pv(name);
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_id_to_unix_num(rgy_context, domain, uuid)
DCE::Registry rgy_context
sec_rgy_domain_t domain
SV *uuid
PPCODE:
{
uuid_t uuid_struct;
error_status_t uuid_status;
signed32 unix_id;
error_status_t status;
UUIDmagic_sv(uuid_struct, uuid);
sec_rgy_pgo_id_to_unix_num(rgy_context, domain, &uuid_struct,
&unix_id, &status);
XPUSHs_iv(unix_id);
Registry/Registry.xs view on Meta::CPAN
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_id_to_name(rgy_context, domain, item_id)
DCE::Registry rgy_context
sec_rgy_domain_t domain
SV *item_id
PPCODE:
{
error_status_t status;
uuid_t uuid;
sec_rgy_name_t pgo_name;
sec_rgy_name_t retval;
UUIDmagic_sv(uuid, item_id);
sec_rgy_pgo_id_to_name(rgy_context, domain, &uuid, pgo_name, &status);
strncpy(retval, pgo_name, 1024);
Registry/Registry.xs view on Meta::CPAN
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_name_to_unix_num(rgy_context, domain, name)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
PPCODE:
{
signed32 unix_id;
error_status_t status;
sec_rgy_pgo_name_to_unix_num(rgy_context, domain, name, &unix_id, &status);
XPUSHs(newSViv(unix_id));
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_name_to_id(rgy_context, domain, name)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
PPCODE:
{
uuid_t uuid_struct;
error_status_t status;
SV *uuid_sv;
sec_rgy_pgo_name_to_id(rgy_context, domain, name, &uuid_struct, &status);
BLESS_UUID_mortal(uuid_struct);
XPUSHs(uuid_sv);
if(WANTARRAY)
DCESTATUS;
}
void
sec_rgy_pgo_add(rgy_context, domain, name, hash_ref)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
SV *hash_ref
PPCODE:
{
error_status_t status;
sec_rgy_pgo_item_t pgo_item;
SV **svp;
HV *info;
FETCH_PGO_ITEM;
sec_rgy_pgo_add(rgy_context, domain, name, &pgo_item, &status);
DCESTATUS;
}
void
sec_rgy_pgo_replace(rgy_context, domain, name, hash_ref)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
SV *hash_ref
PPCODE:
{
error_status_t status;
sec_rgy_pgo_item_t pgo_item;
SV **svp;
HV *info;
FETCH_PGO_ITEM;
sec_rgy_pgo_replace(rgy_context, domain, name, &pgo_item, &status);
DCESTATUS;
}
void
sec_rgy_pgo_rename(rgy_context, domain, old_name, new_name)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * old_name
char * new_name
PPCODE:
{
sec_rgy_name_t old_pgo_name, new_pgo_name;
error_status_t status;
strncpy(old_pgo_name, old_name, 1024);
strncpy(new_pgo_name, new_name, 1024);
sec_rgy_pgo_rename(rgy_context,domain,old_pgo_name,new_pgo_name,&status);
DCESTATUS;
}
void
sec_rgy_pgo_delete(rgy_context, domain, name)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
PPCODE:
{
error_status_t status;
sec_rgy_pgo_delete(rgy_context, domain, name, &status);
DCESTATUS;
}
void
sec_rgy_pgo_add_member(rgy_context, domain, name, person)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
char * person
PPCODE:
{
sec_rgy_name_t go_name;
sec_rgy_name_t person_name;
error_status_t status;
strncpy(go_name, name, 1025);
strncpy(person_name, person, 1025);
sec_rgy_pgo_add_member(rgy_context, domain, go_name, person_name, &status);
DCESTATUS;
}
void
sec_rgy_pgo_delete_member(rgy_context, domain, name, person)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
char * person
PPCODE:
{
sec_rgy_name_t go_name;
sec_rgy_name_t person_name;
error_status_t status;
strncpy(go_name, name, 1025);
strncpy(person_name, person, 1025);
sec_rgy_pgo_delete_member(rgy_context, domain, go_name, person_name, &status);
DCESTATUS;
Registry/Registry.xs view on Meta::CPAN
OUTPUT:
RETVAL
void
sec_rgy_pgo_get_next(rgy_context, domain, scope, item_cursor)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * scope
DCE::RegistryCursor item_cursor
PPCODE:
{
error_status_t status;
sec_rgy_pgo_item_t pgo_item;
uuid_t uuid_struct;
sec_rgy_name_t pgo_name;
SV *rv, *uuid_sv;
HV *hv;
sec_rgy_pgo_get_next(rgy_context, domain, scope, item_cursor, &pgo_item, pgo_name, &status);
Registry/Registry.xs view on Meta::CPAN
DCESTATUS;
}
void
sec_rgy_pgo_is_member(rgy_context, domain, name, person)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
char * person
PPCODE:
{
sec_rgy_name_t go_name;
sec_rgy_name_t person_name;
boolean32 is_mem;
error_status_t status;
strncpy(go_name, name, 1025);
strncpy(person_name, person, 1025);
is_mem = sec_rgy_pgo_is_member(rgy_context, domain,
Registry/Registry.xs view on Meta::CPAN
DCESTATUS;
}
void
sec_rgy_pgo_get_by_name(rgy_context, domain, name, item_cursor)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
DCE::RegistryCursor item_cursor
PPCODE:
{
error_status_t status;
sec_rgy_pgo_item_t pgo_item;
uuid_t uuid_struct;
SV *rv, *uuid_sv;
HV *hv;
sec_rgy_pgo_get_by_name(rgy_context, domain, name, (sec_rgy_cursor_t *)item_cursor, &pgo_item, &status);
if (!status) {
Registry/Registry.xs view on Meta::CPAN
void
sec_rgy_pgo_get_by_unix_num(rgy_context, domain, scope, unix_id, allow_aliases, cursor)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * scope
signed32 unix_id
boolean32 allow_aliases
DCE::RegistryCursor cursor
PPCODE:
{
error_status_t status;
sec_rgy_pgo_item_t pgo_item;
uuid_t uuid_struct;
char *name;
SV *rv, *uuid_sv;
HV *hv;
sec_rgy_pgo_get_by_unix_num(rgy_context, domain, scope, unix_id,
allow_aliases, (sec_rgy_cursor_t *)cursor,
Registry/Registry.xs view on Meta::CPAN
void
sec_rgy_pgo_get_by_id(rgy_context, domain, scope, id, allow_aliases, cursor)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * scope
SV * id
boolean32 allow_aliases
DCE::RegistryCursor cursor
PPCODE:
{
sec_rgy_pgo_item_t pgo_item;
uuid_t uuid_struct;
error_status_t status;
char *name;
SV *rv, *uuid_sv;
HV *hv;
UUIDmagic_sv(uuid_struct, id);
sec_rgy_pgo_get_by_id(rgy_context, domain, scope, &uuid_struct,
Registry/Registry.xs view on Meta::CPAN
}
void
sec_rgy_pgo_get_members(rgy_context, domain, name, member_cursor, max_members = 20)
DCE::Registry rgy_context
sec_rgy_domain_t domain
char * name
DCE::RegistryCursor member_cursor
long max_members
PPCODE:
{
error_status_t status;
sec_rgy_member_t *member_list;
signed32 number_supplied, number_members, i;
AV *av;
member_list = (sec_rgy_member_t *)malloc(sizeof(sec_rgy_member_t) * max_members);
sec_rgy_pgo_get_members(rgy_context, domain, name,
(sec_rgy_cursor_t *)member_cursor, max_members,
Registry/Registry.xs view on Meta::CPAN
DCESTATUS;
}
void
sec_rgy_acct_lookup(rgy_context, login_name_ref, cursor)
DCE::Registry rgy_context
SV *login_name_ref
DCE::RegistryCursor cursor
PPCODE:
{
char *pname_result, *gname_result, *oname_result;
sec_rgy_acct_key_t key_parts;
sec_timeval_sec_t creation_date;
error_status_t status;
sec_rgy_login_name_t login_name, name_result;
sec_rgy_sid_t id_sid;
sec_rgy_unix_sid_t unix_sid;
sec_rgy_acct_user_t user_part;
Registry/Registry.xs view on Meta::CPAN
DCE::Registry rgy_context
SV *login_name_ref
sec_rgy_acct_key_t key_parts
SV *user_part_ref
boolean32 set_passwd
SV *admin_part_ref
char * caller_key
char * new_key
sec_passwd_type_t new_keytype
PPCODE:
{
sec_passwd_version_t new_key_version;
sec_rgy_login_name_t login_name;
sec_rgy_acct_user_t user_part;
sec_rgy_acct_admin_t admin_part;
sec_passwd_rec_t caller_key_rec, new_key_rec;
char caller_key_arr[BUFSIZ], new_key_arr[BUFSIZ];
error_status_t status;
SV **svp;
HV *hv;
Registry/Registry.xs view on Meta::CPAN
void
sec_rgy_acct_user_replace(rgy_context, login_name_ref, user_part_ref, set_passwd, caller_key, new_key, new_keytype)
DCE::Registry rgy_context
SV *login_name_ref
SV *user_part_ref
boolean32 set_passwd
char * caller_key
char * new_key
sec_passwd_type_t new_keytype
PPCODE:
{
sec_passwd_version_t new_key_version;
sec_rgy_login_name_t login_name;
sec_rgy_acct_user_t user_part;
sec_passwd_rec_t caller_key_rec, new_key_rec;
char caller_key_arr[BUFSIZ], new_key_arr[BUFSIZ];
error_status_t status;
SV **svp;
HV *hv;
STRLEN len;
Registry/Registry.xs view on Meta::CPAN
sec_rgy_acct_add(rgy_context, login_name_ref, key_parts, user_part_ref, admin_part_ref, caller_key, new_key, new_keytype)
DCE::Registry rgy_context
SV *login_name_ref
sec_rgy_acct_key_t key_parts
SV *user_part_ref
SV *admin_part_ref
char * caller_key
char * new_key
sec_passwd_type_t new_keytype
PPCODE:
{
sec_passwd_version_t new_key_version;
sec_rgy_login_name_t login_name;
sec_rgy_acct_user_t user_part;
sec_rgy_acct_admin_t admin_part;
sec_passwd_rec_t caller_key_rec, new_key_rec;
char caller_key_arr[BUFSIZ], new_key_arr[BUFSIZ];
error_status_t status;
SV **svp;
HV *hv;
Registry/Registry.xs view on Meta::CPAN
}
void
sec_rgy_acct_passwd(rgy_context, login_name_ref, caller_key, new_key, new_keytype)
DCE::Registry rgy_context
SV *login_name_ref
char * caller_key
char * new_key
sec_passwd_type_t new_keytype
PPCODE:
{
sec_passwd_version_t new_key_version;
sec_rgy_login_name_t login_name;
sec_passwd_rec_t caller_key_rec, new_key_rec;
char caller_key_arr[BUFSIZ], new_key_arr[BUFSIZ];
error_status_t status;
SV **svp;
HV *hv;
STRLEN len;
Registry/Registry.xs view on Meta::CPAN
DCESTATUS;
}
void
sec_rgy_acct_admin_replace(rgy_context, login_name_ref, key_parts, admin_part_ref)
DCE::Registry rgy_context
SV *login_name_ref
sec_rgy_acct_key_t key_parts
SV *admin_part_ref
PPCODE:
{
sec_rgy_login_name_t login_name;
sec_rgy_acct_admin_t admin_part;
sec_passwd_rec_t caller_key_rec, new_key_rec;
char caller_key_arr[BUFSIZ], new_key_arr[BUFSIZ];
error_status_t status;
SV **svp;
HV *hv;
STRLEN len;
Registry/Registry.xs view on Meta::CPAN
&admin_part, &status);
DCESTATUS;
}
void
sec_rgy_acct_delete(rgy_context, login_name_ref)
DCE::Registry rgy_context
SV *login_name_ref
PPCODE:
{
sec_rgy_login_name_t login_name;
error_status_t status;
SV **svp;
HV *hv;
STRLEN len;
FETCH_LOGIN_NAME;
sec_rgy_acct_delete(rgy_context, &login_name, &status);
DCESTATUS;
Registry/Registry.xs view on Meta::CPAN
&new_key_parts, &status);
XPUSHs_iv(new_key_parts);
DCESTATUS;
}
void
sec_rgy_plcy_get_info(rgy_context, organization)
DCE::Registry rgy_context
char * organization
PPCODE:
{
sec_rgy_plcy_t policy_data;
error_status_t status;
HV *hv;
sec_rgy_plcy_get_info(rgy_context, organization, &policy_data, &status);
STORE_POLICY_DATA;
}
void
sec_rgy_plcy_set_info(rgy_context, organization, policy_data_ref)
DCE::Registry rgy_context
char *organization
SV *policy_data_ref
PPCODE:
{
sec_rgy_plcy_t policy_data;
error_status_t status;
HV *hv;
SV **svp;
hv = (HV*)SvRV(policy_data_ref);
svp = hv_fetch(hv,"passwd_min_len",14,1);
policy_data.passwd_min_len = (signed32 )SvIV(*svp);
Registry/Registry.xs view on Meta::CPAN
sec_rgy_plcy_set_info(rgy_context, organization, &policy_data, &status);
DCESTATUS;
}
void
sec_rgy_plcy_get_effective(rgy_context, organization)
DCE::Registry rgy_context
char * organization
PPCODE:
{
sec_rgy_plcy_t policy_data;
error_status_t status;
HV *hv;
sec_rgy_plcy_get_effective(rgy_context, organization, &policy_data, &status);
STORE_POLICY_DATA;
}
MODULE = DCE::Registry PACKAGE = DCE::Registry
void
era(rgy_context, era_name)
DCE::Registry rgy_context
char *era_name
PPCODE:
{
SV *sv = &PL_sv_undef;
DCE__Registry__era era;
sec_attr_schema_entry_t era_schema;
error_status_t status;
era = (DCE__Registry__era)malloc(sizeof(era_obj_t));
if (!era)
status = sec_s_no_memory;
else
Registry/Registry.xs view on Meta::CPAN
}
MODULE = DCE::Registry PACKAGE = DCE::cursor
void
new(package)
char *package
PPCODE:
{
SV *cursor;
sec_rgy_cursor_t *rgy_cursor;
rgy_cursor = malloc(sizeof(sec_rgy_cursor_t));
cursor = sv_newmortal();
warn("Don't call DCE::cursor->new, use DCE::Registry->cursor instead!!!");
sv_setref_pv((SV*)cursor, "DCE::RegistryCursor", (void *)rgy_cursor);
XPUSHs(cursor);
}
Registry/Registry.xs view on Meta::CPAN
CODE:
{
sec_rgy_cursor_reset(cursor);
}
void
new(package)
char *package
PPCODE:
{
SV *cursor;
sec_rgy_cursor_t *rgy_cursor;
rgy_cursor = malloc(sizeof(sec_rgy_cursor_t));
cursor = sv_newmortal();
sv_setref_pv((SV*)cursor, package, (void *)rgy_cursor);
XPUSHs(cursor);
}
MODULE = DCE::Registry PACKAGE = DCE::Registry::era
Registry/Registry.xs view on Meta::CPAN
DCE::Registry::era era
CODE:
{
}
void
name(era)
DCE::Registry::era era
PPCODE:
{
XPUSHs(newSVpv(era->name, 0));
}
int
type(era)
DCE::Registry::era era
CODE:
{
Registry/Registry.xs view on Meta::CPAN
RETVAL = status;
}
OUTPUT:
RETVAL
void
value(era)
DCE::Registry::era era
PPCODE:
{
HV *hv = newHV();
error_status_t status = 0;
if (!era->initialized)
status = sec_attr_bad_param;
else
switch (era->attr.attr_value.attr_encoding)
{
UUID/UUID.xs view on Meta::CPAN
#include "../DCE_Perl.h"
MODULE = DCE::UUID PACKAGE = DCE::UUID
void
uuid_create()
PPCODE:
{
error_status_t status;
uuid_t uuid;
SV *uuid_sv;
uuid_create(&uuid, &status);
BLESS_UUID(uuid);
XPUSHs(uuid_sv);
if(WANTARRAY)
DCESTATUS;
}
void
uuid_hash(uuid, status)
SV *uuid
PPCODE:
{
uuid_t uuid_struct;
unsigned16 hash;
error_status_t status;
UUIDmagic_sv(uuid_struct, uuid);
hash = uuid_hash(&uuid_struct, &status);
XPUSHs_iv(hash);
if(WANTARRAY)
DCESTATUS;