static ssize_t aes_write(Sfio_t* sp, const void* buf, size_t n, Sfdisc_t* disc) { return -1; } Codexmeth_t codex_aes = { "aes", "AES Stub", "[+(author)?Lefteris Koutsofios]", CODEX_DECODE|CODEX_ENCODE|CODEX_CRYPT, 0, 0, aes_open, aes_close, aes_init, aes_done, aes_read, aes_write, aes_done, 0, 0, 0, 0, CODEXNEXT(aes) }; CODEXLIB(aes)
return 0; } Codexmeth_t codex_iconv = { "iconv", "iconv character codeset conversion. One or two character codeset" " options must be specified. Two options specify the source and" " destination codesets. One option specifies the decode source or" " encode destination codeset; the implied second codeset defaults" " to \bnative\b.", "[-?\n@(#)$Id: codex-iconv (AT&T Research) 2000-05-09 $\n]" USAGE_LICENSE, CODEX_DECODE|CODEX_ENCODE|CODEX_ICONV, cc_options, 0, cc_open, cc_close, cc_sync, cc_sync, cc_read, cc_write, cc_sync, 0, 0, 0, 0, CODEXNEXT(iconv) }; CODEXLIB(iconv)
static int qp_sync(Codex_t* p) { return flush((State_t*)p->data, -1); } Codexmeth_t codex_qp = { "qp", "quoted printable encoding.", "[+(version)?codex-qp (AT&T Research) 1998-11-11]" "[+(author)?Glenn Fowler <*****@*****.**>]", CODEX_DECODE|CODEX_ENCODE|CODEX_UU, 0, 0, qp_open, 0, 0, 0, qp_read, qp_write, qp_sync, 0, 0, 0, 0, CODEXNEXT(qp) }; CODEXLIB(qp)