Mail-Cclient
view release on metacpan or search on metacpan
unsigned long
mailstream_uid_last(stream)
Mail::Cclient stream
void
mailstream_perm_user_flags(stream)
Mail::Cclient stream
PREINIT:
int i;
PPCODE:
for (i = 0; i < NUSERFLAGS; i++)
if (stream->perm_user_flags & (1 << i))
XPUSHs(sv_2mortal(newSVpv(stream->user_flags[i], 0)));
MODULE = Mail::Cclient PACKAGE = Mail::Cclient PREFIX = mail_
#
# Message Data Fetching Functions
#
void
mail_fetchfast(stream, sequence, ...)
Mail::Cclient stream
char * sequence
PREINIT:
int i;
long flags = 0;
PPCODE:
for (i = 2; i < items; i++) {
char *flag = SvPV(ST(i), na);
if (strEQ(flag, "uid"))
flags |= FT_UID;
else {
croak("unknown flag \"%s\" passed to Mail::Cclient::fetchfast",
flag);
}
}
mail_fetchfast_full(stream, sequence, flags);
ST(0) = &sv_yes;
void
mail_fetchflags(stream, sequence, ...)
Mail::Cclient stream
char * sequence
PREINIT:
int i;
long flags = 0;
PPCODE:
for (i = 2; i < items; i++) {
char *flag = SvPV(ST(i), na);
if (strEQ(flag, "uid"))
flags |= FT_UID;
else {
croak("unknown flag \"%s\" passed to"
" Mail::Cclient::fetchflags", flag);
}
}
mail_fetchflags_full(stream, sequence, flags);
void
mail_fetchstructure(stream, msgno, ...)
Mail::Cclient stream
unsigned long msgno
PREINIT:
int i;
long flags = 0;
ENVELOPE *e;
BODY **bodyp = 0;
BODY *body = 0;
PPCODE:
for (i = 2; i < items; i++) {
char *flag = SvPV(ST(i), na);
if (strEQ(flag, "uid"))
flags |= FT_UID;
else {
croak("unknown flag \"%s\" passed to"
" Mail::Cclient::fetchstructure", flag);
}
}
if (GIMME == G_ARRAY)
void
mail_fetchheader(stream, msgno, ...)
Mail::Cclient stream
unsigned long msgno
PREINIT:
int i;
long flags = 0;
STRINGLIST *lines = 0;
unsigned long len;
char *hdr;
PPCODE:
for (i = 2; i < items; i++) {
SV *sv = ST(i);
if (SvROK(sv)) {
sv = (SV*)SvRV(sv);
if (SvTYPE(sv) != SVt_PVAV) {
croak("reference to non-list passed to"
" Mail::Cclient::fetchheader");
}
lines = av_to_stringlist((AV*)sv);
}
void
mail_fetchtext(stream, msgno, ...)
Mail::Cclient stream
unsigned long msgno
PREINIT:
int i;
long flags = 0;
unsigned long len;
char *text;
PPCODE:
for (i = 2; i < items; i++) {
char *flag = SvPV(ST(i), na);
if (strEQ(flag, "uid"))
flags |= FT_UID;
else if (strEQ(flag, "peek"))
flags |= FT_NOT;
else if (strEQ(flag, "internal"))
flags |= FT_INTERNAL;
else {
croak("unknown flag \"%s\" passed to"
void
mail_fetchbody(stream, msgno, section, ...)
Mail::Cclient stream
unsigned long msgno
char * section
PREINIT:
int i;
long flags = 0;
unsigned long len;
char *body;
PPCODE:
for (i = 3; i < items; i++) {
char *flag = SvPV(ST(i), na);
if (strEQ(flag, "uid"))
flags |= FT_UID;
else if (strEQ(flag, "peek"))
flags |= FT_NOT;
else if (strEQ(flag, "internal"))
flags |= FT_INTERNAL;
else {
croak("unknown flag \"%s\" passed to Mail::Cclient::fetchbody",
mail_uid(stream, msgno)
Mail::Cclient stream
unsigned long msgno
void
mail_elt(stream, msgno)
Mail::Cclient stream
unsigned long msgno
PREINIT:
MESSAGECACHE *elt;
PPCODE:
elt = mail_elt(stream, msgno);
XPUSHs(elt ? sv_2mortal(make_elt(stream, elt)) : &sv_undef);
#
# Message Status Manipulation Functions
#
void
mail_setflag(stream, sequence, flag, ...)
Mail::Cclient stream
# MIME type conversion functions
#
void
rfc822_base64(source)
SV * source
PREINIT:
STRLEN srcl;
unsigned long len;
unsigned char *s;
PPCODE:
s = (unsigned char*)SvPV(source, srcl);
s = rfc822_base64(s, (unsigned long)srcl, &len);
XPUSHs(sv_2mortal(newSVpv((char*)s, (STRLEN)len)));
void
rfc822_qprint(source)
SV * source
PREINIT:
STRLEN srcl;
unsigned long len;
unsigned char *s;
PPCODE:
s = (unsigned char*)SvPV(source, srcl);
s = rfc822_qprint(s, (unsigned long)srcl, &len);
XPUSHs(sv_2mortal(newSVpv((char*)s, (STRLEN)len)));
#
# Utility functions
#
#define DATE_BUFF_SIZE 64
( run in 1.824 second using v1.01-cache-2.11-cpan-71847e10f99 )