DFS-Perl

 view release on metacpan or  search on metacpan

DFS-full.xs  view on Meta::CPAN

	 RETVAL = pioctl(mount_dir, VIOC_AFS_DELETE_MT_PT, &ioctl_buf, 1);
       else
	 RETVAL = EINVAL;
     }
     OUTPUT:
       RETVAL

void
fid(path)
    char *path
    PPCODE:
    {   
      struct afs_ioctl ioctl_buf;
      DCE__DFS__fid fid;
      error_status_t status = 0;
      SV *sv = &PL_sv_undef;

      if (!(fid = (DCE__DFS__fid)malloc(sizeof(struct afsFid))))
	status = sec_s_no_memory;
      else {
        ioctl_buf.in_size = 0;

DFS-full.xs  view on Meta::CPAN

        }
      }
      XPUSHs(sv);
      sv = sv_2mortal(newSViv(status));
      XPUSHs(sv); 
    }

void
flserver(cell_fs = "/.:/fs")
     char *cell_fs
     PPCODE:
     {
       SV *sv;
       DCE__DFS__flserver flserver;
       error_status_t status;

       if (!(flserver = (DCE__DFS__flserver)malloc(sizeof(flserver_obj))))
	 {
	   sv = &PL_sv_undef;
	   XPUSHs(sv);
	   sv = sv_2mortal(newSViv(sec_s_no_memory));

DFS-full.xs  view on Meta::CPAN


void
DESTROY(fid)
     DCE::DFS::fid fid
     CODE:
       free((void *)fid);

void
id(fid)
     DCE::DFS::fid fid
     PPCODE:
     {
       char buf[32];

       sprintf(buf, "%d,,%d", AFS_hgethi(fid->Volume), AFS_hgetlo(fid->Volume));
       XPUSHs(sv_2mortal(newSVpv(buf, strlen(buf))));
     }

MODULE = DCE::DFS		PACKAGE = DCE::DFS::flserver

void

DFS-full.xs  view on Meta::CPAN

ftserver_reset(flserver)
     DCE::DFS::flserver flserver
     CODE:
     {
       flserver->site_start = flserver->site_count = flserver->site_index = 0;
     }

void
ftserver(flserver)
     DCE::DFS::flserver flserver
     PPCODE:
     {
       DCE__DFS__ftserver ftserver;
       error_status_t status = 0;
       int index;
       SV *sv = &PL_sv_undef;
       
       if (flserver->site_index >= flserver->site_count)
	 {   
	   for(index = 0; index < flserver->flserver_h_count; index++)
	     {

DFS-full.xs  view on Meta::CPAN

	   flserver->site_index++;
	 }
       XPUSHs(sv);
       XPUSHs(sv_2mortal(newSViv(status)));
     }

void
ftserver_by_name(flserver, name)
     DCE::DFS::flserver flserver
     char *name
     PPCODE:
     {
       DCE__DFS__ftserver ftserver;
       error_status_t status;
       u_long addr = 0;
       struct hostent *host;
       SV *sv = &PL_sv_undef;
       
       if ((int)(addr = inet_addr(name)) == -1)
	 if (host = gethostbyname(name))
	   memcpy(&addr, host->h_addr, sizeof(addr));

DFS-full.xs  view on Meta::CPAN

     int type
     CODE:
     {
       flserver->attributes.volumetype = VOLTIX_TO_VOLTYPE(type);
       flserver->attributes.Mask |= VLLIST_VOLUMETYPE;
     }

void
fileset(flserver)
     DCE::DFS::flserver flserver
     PPCODE:
     {
       DCE__DFS__fileset fileset;
       error_status_t status = 0;
       unsigned32 dummy, dummy2;
       int index;
       SV *sv = &PL_sv_undef;
       
       if (flserver->entry_index >= flserver->entry_info.bulkentries_len)
	 {
	   for(index = 0; index < flserver->flserver_h_count; index++)

DFS-full.xs  view on Meta::CPAN

	 }
       XPUSHs(sv);
       sv = sv_2mortal(newSViv(status));
       XPUSHs(sv);
     }

void
fileset_by_name(flserver, name)
     DCE::DFS::flserver flserver
     char *name
     PPCODE:
     {
       error_status_t status;
       DCE__DFS__fileset fileset;
       SV *sv = &PL_sv_undef;
       int index;

       if (fileset = (DCE__DFS__fileset)malloc(sizeof(fileset_obj)))
	 {
	   for(index = 0; index < flserver->flserver_h_count; index++)
	     {

DFS-full.xs  view on Meta::CPAN

       sv = sv_2mortal(newSViv(status));
       XPUSHs(sv);
     }


void
fileset_by_id(flserver, fid)
     DCE::DFS::flserver flserver
     DCE::DFS::fid fid

     PPCODE:
     {
       error_status_t status;
       DCE__DFS__fileset fileset;
       SV *sv = &PL_sv_undef;
       int index;
       
       if (fileset = (DCE__DFS__fileset)malloc(sizeof(fileset_obj)))
	 {
	   for(index = 0; index < flserver->flserver_h_count; index++)
	     {

DFS-full.xs  view on Meta::CPAN

       if (retval)
	 ST(0) = sv_2mortal(newSVpv(retval, strlen(retval)));
       else
	 ST(0) = &PL_sv_undef;
     }


void
aggregate(ftserver)
     DCE::DFS::ftserver ftserver
     PPCODE:
     {
       DCE__DFS__aggregate aggr;
       error_status_t status = 0;
       SV *sv = &PL_sv_undef;
       
       if (ftserver->aggr_index >= ftserver->aggr_entries.ftserver_aggrList_len)
	 {
	   status = FTSERVER_ListAggregates(ftserver->ftserver_h, &ftserver->aggr_start,
					    &ftserver->aggr_nextstart, &ftserver->aggr_entries);
	     

DFS-full.xs  view on Meta::CPAN

     {
       unsigned32 status;

       rpc_binding_free(&aggr->ftserver_h, &status);
       free((void *)aggr);
     }

void
ftserver(aggr)
     DCE::DFS::aggregate aggr
     PPCODE:
     {
       DCE__DFS__ftserver ftserver;
       error_status_t status = 0;
       SV *sv = &PL_sv_undef;
       
       if (ftserver = (DCE__DFS__ftserver)malloc(sizeof(ftserver_obj)))
	 {
	   ftserver->addr = aggr->addr;
	   rpc_binding_copy(aggr->ftserver_h, &ftserver->ftserver_h, &status);
	   init_ftserver_state(ftserver);

DFS-full.xs  view on Meta::CPAN

	 if (fileset->ftserver_h_initialized & (1 << index))
	   rpc_binding_free(&fileset->ftserver_h[index], &status);
       
       free((void *)fileset);
     }

void
ftserver(fileset, ftserver_index = -1)
     DCE::DFS::fileset fileset
     int ftserver_index
     PPCODE:
     {
       DCE__DFS__ftserver ftserver;
       error_status_t status = 0;
       SV *sv = &PL_sv_undef;
       int index = ((ftserver_index == -1) ? fileset->ftserver_rw_index : ftserver_index);

       if (index < 0 || index >= fileset->entry.nServers)
	 status = REP_ERR_INVAL_PARAM;
       else if (!(ftserver = (DCE__DFS__ftserver)malloc(sizeof(ftserver_obj))))
	 status = sec_s_no_memory;

DFS-full.xs  view on Meta::CPAN

	   }
       XPUSHs(sv);
       sv = sv_2mortal(newSViv(status));
       XPUSHs(sv);
     }

void
aggregate(fileset, ftserver_index = -1)
     DCE::DFS::fileset fileset
     int ftserver_index
     PPCODE:
     {
       DCE__DFS__aggregate aggr;
       error_status_t status = 0;
       int index = ((ftserver_index == -1) ? fileset->ftserver_rw_index : ftserver_index);
       SV *sv = &PL_sv_undef;

       if (index < 0 || index >= fileset->entry.nServers)
	 status = REP_ERR_INVAL_PARAM;
       else if (!(aggr = (DCE__DFS__aggregate)malloc(sizeof(aggregate_obj))))
	 status = sec_s_no_memory;

DFS-full.xs  view on Meta::CPAN

       RETVAL = exists;
     }
     OUTPUT:
       RETVAL

void
usage(fileset, ftserver_index = -1, fileset_type = 0)
     DCE::DFS::fileset fileset
     int ftserver_index
     int fileset_type
     PPCODE:
     {
       SV *sv;
       error_status_t status;
       int index = ((ftserver_index == -1) ? fileset->ftserver_rw_index : ftserver_index);
       ftserver_status *ft_status = NULL;
       unsigned32 seconds, reads, writes;
       time_t now;

       status = update_fileset(fileset, index, fileset_type);
       now = time(NULL);

DFS-full.xs  view on Meta::CPAN

       XPUSHs(sv);
       sv = sv_2mortal(newSViv(writes));
       XPUSHs(sv);
       sv = sv_2mortal(newSViv(status));
       XPUSHs(sv);
     }
       
void
quota(fileset)
     DCE::DFS::fileset fileset
     PPCODE:
     {
       SV *sv;
       error_status_t status;
       unsigned32 quota, used;

       status = update_fileset(fileset, fileset->ftserver_rw_index, 0);
       
       if (!status) {
	 quota = ((0xffc00000 & (AFS_hgethi(fileset->rw_status.vsd.visQuotaLimit) << 22)) | (0x003fffff & (AFS_hgetlo(fileset->rw_status.vsd.visQuotaLimit) >> 10)));
	 used = ((0xffc00000 & (AFS_hgethi(fileset->rw_status.vsd.visQuotaUsage) << 22)) | (0x003fffff & (AFS_hgetlo(fileset->rw_status.vsd.visQuotaUsage) >> 10)));



( run in 0.960 second using v1.01-cache-2.11-cpan-71847e10f99 )