Convert-UUlib

 view release on metacpan or  search on metacpan

UUlib.xs  view on Meta::CPAN

UUSetOption (opt, val)
	int	opt
        SV *	val
        CODE:
{
        STRLEN dc;

        if (uu_opt_isstring (opt))
          RETVAL = UUSetOption (opt, 0, SvPV (val, dc));
        else
          RETVAL = UUSetOption (opt, SvIV (val), (void *)0);
}
        OUTPUT:
        RETVAL

char *
UUstrerror (errcode)
	int	errcode

void
UUSetMsgCallback (func = 0)
	SV *	func
	CODE:
	UUSetMsgCallback (FUNC_CB (uu_msg));

void
UUSetBusyCallback (func = 0,msecs = 1000)
	SV *	func
        long	msecs
	CODE:
	UUSetBusyCallback (FUNC_CB (uu_busy), msecs);

void
UUSetFileCallback (func = 0)
	SV *	func
	CODE:
	UUSetFileCallback (FUNC_CB (uu_file));

void
UUSetFNameFilter (func = 0)
	SV *	func
	CODE:
	UUSetFNameFilter (FUNC_CB (uu_fnamefilter));

void
UUSetFileNameCallback (func = 0)
	SV *	func
	CODE:
	UUSetFileNameCallback (FUNC_CB (uu_filename));

char *
UUFNameFilter (fname)
	char *	fname

void
UULoadFile (fname, id = 0, delflag = 0, partno = -1)
	char *	fname
	char *	id
	int	delflag
        int	partno
        PPCODE:
{
	int count;
        IV ret;

        RELEASE;
        ret = UULoadFileWithPartNo (fname, id, delflag, partno, &count);
        ACQUIRE;

	XPUSHs (sv_2mortal (newSViv (ret)));
        if (GIMME_V == G_ARRAY)
          XPUSHs (sv_2mortal (newSViv (count)));
}

int
UUSmerge (pass)
	int	pass

int
UUQuickDecode(datain,dataout,boundary,maxpos)
	FILE *	datain
	FILE *	dataout
	char *	boundary
	long	maxpos

int
UUEncodeMulti(outfile,infile,infname,encoding,outfname,mimetype,filemode)
	FILE *	outfile
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	char *	mimetype
	int	filemode

int
UUEncodePartial(outfile,infile,infname,encoding,outfname,mimetype,filemode,partno,linperfile)
	FILE *	outfile
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	char *	mimetype
	int	filemode
	int	partno
	long	linperfile

int
UUEncodeToStream(outfile,infile,infname,encoding,outfname,filemode)
	FILE *	outfile
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	int	filemode

int
UUEncodeToFile(infile,infname,encoding,outfname,diskname,linperfile)
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	char *	diskname
	long	linperfile

int
UUE_PrepSingle(outfile,infile,infname,encoding,outfname,filemode,destination,from,subject,isemail)
	FILE *	outfile
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	int	filemode
	char *	destination
	char *	from
	char *	subject
	int	isemail

int
UUE_PrepPartial(outfile,infile,infname,encoding,outfname,filemode,partno,linperfile,filesize,destination,from,subject,isemail)
	FILE *	outfile
	FILE *	infile
	char *	infname
	int	encoding
	char *	outfname
	int	filemode
        int	partno
        long	linperfile
        long	filesize
	char *	destination
	char *	from
	char *	subject
	int	isemail

uulist *
UUGetFileListItem (num)
	int	num

void
GetFileList ()
	PPCODE:
{
	uulist *iter;

        for (iter = UUGlobalFileList; iter; iter = iter->NEXT)
	  XPUSHs (sv_setref_pv (sv_newmortal (), "Convert::UUlib::Item", iter));
}

MODULE = Convert::UUlib		PACKAGE = Convert::UUlib::Item

int
rename (item, newname)
	uulist *item
	char *	newname
        CODE:
        RETVAL = UURenameFile (item, newname);
	OUTPUT:
        RETVAL

int
decode_temp (item)
	uulist *item
        CODE:
        RELEASE;
        RETVAL = UUDecodeToTemp (item);
        ACQUIRE;
	OUTPUT:
        RETVAL

int
remove_temp (item)
	uulist *item
        CODE:
        RELEASE;
        RETVAL = UURemoveTemp (item);
        ACQUIRE;
	OUTPUT:
        RETVAL

int
decode (item, target = 0)
	uulist *item
	char *	target
        CODE:
        RELEASE;
        RETVAL = UUDecodeFile (item, target);
        ACQUIRE;
	OUTPUT:
        RETVAL

void
info (item, func)
	uulist *item
	SV *	func
        CODE:
        RELEASE;
        UUInfoFile (item, (void *)func, uu_info_file);
        ACQUIRE;

short
state(li)

UUlib.xs  view on Meta::CPAN


long
size(li)
	uulist *li
        CODE:
        RETVAL = li->size;
        OUTPUT:
        RETVAL

char *
filename (li, newfilename = 0)
	uulist *li
        char *	newfilename
        CODE:
        if (newfilename)
	  {
            _FP_free (li->filename);
	    li->filename = _FP_strdup (newfilename);
          }
        RETVAL = li->filename;
        OUTPUT:
        RETVAL

char *
subfname (li)
	uulist *li
        CODE:
        RETVAL = li->subfname;
        OUTPUT:
        RETVAL

char *
mimeid (li)
	uulist *li
        CODE:
        RETVAL = li->mimeid;
        OUTPUT:
        RETVAL

char *
mimetype (li)
	uulist *li
        CODE:
        RETVAL = li->mimetype;
        OUTPUT:
        RETVAL

char *
binfile (li)
	uulist *li
        CODE:
        RETVAL = li->binfile;
        OUTPUT:
        RETVAL

# methods accessing internal data(!)

void
parts (li)
	uulist *li
        PPCODE:
{
	struct _uufile *p = li->thisfile;

        while (p)
          {
            HV *pi = newHV ();

                                  hv_store (pi, "partno"  , 6, newSViv (p->partno)         , 0);
            if (p->filename     ) hv_store (pi, "filename", 8, newSVpv (p->filename, 0)    , 0);
            if (p->subfname     ) hv_store (pi, "subfname", 8, newSVpv (p->subfname, 0)    , 0);
            if (p->mimeid       ) hv_store (pi, "mimeid"  , 6, newSVpv (p->mimeid  , 0)    , 0);
            if (p->mimetype     ) hv_store (pi, "mimetype", 8, newSVpv (p->mimetype, 0)    , 0);
            if (p->data->subject) hv_store (pi, "subject" , 7, newSVpv (p->data->subject,0), 0);
            if (p->data->origin ) hv_store (pi, "origin"  , 6, newSVpv (p->data->origin ,0), 0);
            if (p->data->sfname ) hv_store (pi, "sfname"  , 6, newSVpv (p->data->sfname ,0), 0);

            XPUSHs (sv_2mortal (newRV_noinc ((SV *)pi)));

            p = p->NEXT;
          }
}

BOOT:
{
  HV *stash = GvSTASH (CvGV (cv));

  static const struct {
    const char *name;
    IV iv;
  } *civ, const_iv[] = {
#   define const_iv(name, value) { # name, (IV) value },
    const_iv (ACT_COPYING  , UUACT_COPYING)
    const_iv (ACT_DECODING , UUACT_DECODING)
    const_iv (ACT_ENCODING , UUACT_ENCODING)
    const_iv (ACT_IDLE     , UUACT_IDLE)
    const_iv (ACT_SCANNING , UUACT_SCANNING)
    const_iv (FILE_DECODED , UUFILE_DECODED)
    const_iv (FILE_ERROR   , UUFILE_ERROR)
    const_iv (FILE_MISPART , UUFILE_MISPART)
    const_iv (FILE_NOBEGIN , UUFILE_NOBEGIN)
    const_iv (FILE_NODATA  , UUFILE_NODATA)
    const_iv (FILE_NOEND   , UUFILE_NOEND)
    const_iv (FILE_OK      , UUFILE_OK)
    const_iv (FILE_READ    , UUFILE_READ)
    const_iv (FILE_TMPFILE , UUFILE_TMPFILE)
    const_iv (MSG_ERROR    , UUMSG_ERROR)
    const_iv (MSG_FATAL    , UUMSG_FATAL)
    const_iv (MSG_MESSAGE  , UUMSG_MESSAGE)
    const_iv (MSG_NOTE     , UUMSG_NOTE)
    const_iv (MSG_PANIC    , UUMSG_PANIC)
    const_iv (MSG_WARNING  , UUMSG_WARNING)
    const_iv (OPT_VERSION  , UUOPT_VERSION)
    const_iv (OPT_FAST     , UUOPT_FAST)
    const_iv (OPT_DUMBNESS , UUOPT_DUMBNESS)
    const_iv (OPT_BRACKPOL , UUOPT_BRACKPOL)
    const_iv (OPT_VERBOSE  , UUOPT_VERBOSE)
    const_iv (OPT_DESPERATE, UUOPT_DESPERATE)
    const_iv (OPT_IGNREPLY , UUOPT_IGNREPLY)
    const_iv (OPT_OVERWRITE, UUOPT_OVERWRITE)
    const_iv (OPT_SAVEPATH , UUOPT_SAVEPATH)



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