aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
Commit message (Expand)AuthorAgeFilesLines
...
* Expanded TO DO list.Eric S. Raymond1996-09-251-0/+2
* Expanded TO DO list.Eric S. Raymond1996-09-251-3/+4
* Note a feature change.Eric S. Raymond1996-09-251-0/+4
* Gotcha.Eric S. Raymond1996-09-251-48/+6
* Typo fix.Eric S. Raymond1996-09-251-1/+1
* POP2 now goes through the generic driver.Eric S. Raymond1996-09-251-7/+7
* Remove same name dependencies.Eric S. Raymond1996-09-241-12/+14
* Improved RFC822 conformance in SMTP code.Eric S. Raymond1996-09-241-0/+3
* The great name change.Eric S. Raymond1996-09-241-8/+12
* Add release date.Eric S. Raymond1996-09-231-1/+1
* Add a warning.Eric S. Raymond1996-09-231-1/+1
* Update docs.Eric S. Raymond1996-09-231-2/+4
* Be robust in the presence of Sun NIS and other nonstandard password schemes.Eric S. Raymond1996-09-201-0/+3
* Changed the lockfile location.Eric S. Raymond1996-09-201-0/+2
* Added improved sizeticker code.Eric S. Raymond1996-09-191-0/+2
* Warnings about concurrent runs.Eric S. Raymond1996-09-181-0/+41
* QNX port.Eric S. Raymond1996-09-131-0/+6
* Make SMTP forwarding the default.Eric S. Raymond1996-09-121-1/+1
* Added port-specification option.Eric S. Raymond1996-09-121-4/+9
* Clean up some option processing.Eric S. Raymond1996-09-111-2/+0
* Most of the way to SMTP forwarding.Eric S. Raymond1996-09-111-4/+5
* Note for futEric S. Raymond1996-08-271-0/+6
* Added autoprobe logic.Eric S. Raymond1996-08-261-0/+3
* We have IMAP support.Eric S. Raymond1996-08-261-2/+2
* Sendmail delivery from background seems to work.Eric S. Raymond1996-08-241-4/+2
* Now all MDA arguments are dumped.Eric S. Raymond1996-08-231-0/+4
* Added support for RFC-1725-compliant servers with UIDL and without LAST.Eric S. Raymond1996-08-221-0/+5
* Corrected the news.Eric S. Raymond1996-08-221-1/+1
* Logfile optionm now works.Eric S. Raymond1996-08-211-7/+4
* Minor bug fixes.Eric S. Raymond1996-08-021-0/+4
* Deal with the sendmail delivery problem.Eric S. Raymond1996-07-301-1/+8
* Fixed the sendmail command.Eric S. Raymond1996-07-261-0/+2
* Freeze bug fixes befoire adding more features.Eric S. Raymond1996-07-191-6/+23
* Fix a lexical-analyzer bug.Eric S. Raymond1996-07-011-0/+2
* Bug fixes.Eric S. Raymond1996-07-011-2/+10
* Initial revisionEric S. Raymond1996-06-281-0/+146
erg. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************* * * http://ctrio.sourceforge.net/ * ************************************************************************/ #ifndef TRIO_TRIO_H #define TRIO_TRIO_H #if !defined(WITHOUT_TRIO) #if WANT_FETCHMAIL_CONFIG_H_FOR_TRIO - 0 /* if used as part of fetchmail, do not include config.h, as that would break * the regression test. */ /* * Use autoconf defines if present. Packages using trio must define * HAVE_CONFIG_H as a compiler option themselves. */ #if defined(HAVE_CONFIG_H) # include <config.h> #endif #endif #include "triop.h" #include <stdio.h> #ifdef __cplusplus extern "C" { #endif /* * Error codes. * * Remember to add a textual description to trio_strerror. */ enum { TRIO_EOF = 1, TRIO_EINVAL = 2, TRIO_ETOOMANY = 3, TRIO_EDBLREF = 4, TRIO_EGAP = 5, TRIO_ENOMEM = 6, TRIO_ERANGE = 7, TRIO_ERRNO = 8, TRIO_ECUSTOM = 9 }; /* Error macros */ #define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF) #define TRIO_ERROR_POSITION(x) ((-(x)) >> 8) #define TRIO_ERROR_NAME(x) trio_strerror(x) typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int)); typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t)); TRIO_CONST char *trio_strerror TRIO_PROTO((int)); /************************************************************************* * Print Functions */ int trio_printf TRIO_PROTO((TRIO_CONST char *format, ...)); int trio_vprintf TRIO_PROTO((TRIO_CONST char *format, va_list args)); int trio_printfv TRIO_PROTO((TRIO_CONST char *format, void **args)); int trio_fprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...)); int trio_vfprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args)); int trio_fprintfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args)); int trio_dprintf TRIO_PROTO((int fd, TRIO_CONST char *format, ...)); int trio_vdprintf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args)); int trio_dprintfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args)); int trio_cprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, TRIO_CONST char *format, ...)); int trio_vcprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, TRIO_CONST char *format, va_list args)); int trio_cprintfv TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure, TRIO_CONST char *format, void **args)); int trio_sprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, ...)); int trio_vsprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, va_list args)); int trio_sprintfv TRIO_PROTO((char *buffer, TRIO_CONST char *format, void **args)); int trio_snprintf TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...)); int trio_vsnprintf TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, va_list args)); int trio_snprintfv TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, void **args)); int trio_snprintfcat TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...)); int trio_vsnprintfcat TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format, va_list args)); #if defined(TRIO_DEPRECATED) char *trio_aprintf TRIO_PROTO((TRIO_CONST char *format, ...)); char *trio_vaprintf TRIO_PROTO((TRIO_CONST char *format, va_list args)); #endif int trio_asprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, ...)); int trio_vasprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, va_list args)); int trio_asprintfv TRIO_PROTO((char **result, TRIO_CONST char *format, trio_pointer_t * args)); /************************************************************************* * Scan Functions */ int trio_scanf TRIO_PROTO((TRIO_CONST char *format, ...)); int trio_vscanf TRIO_PROTO((TRIO_CONST char *format, va_list args)); int trio_scanfv TRIO_PROTO((TRIO_CONST char *format, void **args)); int trio_fscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...)); int trio_vfscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args)); int trio_fscanfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args)); int trio_dscanf TRIO_PROTO((int fd, TRIO_CONST char *format, ...)); int trio_vdscanf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args)); int trio_dscanfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args)); int trio_cscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, TRIO_CONST char *format, ...)); int trio_vcscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, TRIO_CONST char *format, va_list args)); int trio_cscanfv TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure, TRIO_CONST char *format, void **args)); int trio_sscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, ...)); int trio_vsscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, va_list args)); int trio_sscanfv TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, void **args)); /************************************************************************* * Locale Functions */ void trio_locale_set_decimal_point TRIO_PROTO((char *decimalPoint)); void trio_locale_set_thousand_separator TRIO_PROTO((char *thousandSeparator)); void trio_locale_set_grouping TRIO_PROTO((char *grouping)); /************************************************************************* * Renaming */ #ifdef TRIO_REPLACE_STDIO /* Replace the <stdio.h> functions */ #ifndef HAVE_PRINTF # undef printf # define printf trio_printf #endif #ifndef HAVE_VPRINTF # undef vprintf # define vprintf trio_vprintf #endif #ifndef HAVE_FPRINTF # undef fprintf # define fprintf trio_fprintf #endif #ifndef HAVE_VFPRINTF # undef vfprintf # define vfprintf trio_vfprintf #endif #ifndef HAVE_SPRINTF # undef sprintf # define sprintf trio_sprintf #endif #ifndef HAVE_VSPRINTF # undef vsprintf # define vsprintf trio_vsprintf #endif #ifndef HAVE_SNPRINTF # undef snprintf # define snprintf trio_snprintf #endif #ifndef HAVE_VSNPRINTF # undef vsnprintf # define vsnprintf trio_vsnprintf #endif #ifndef HAVE_SCANF # undef scanf # define scanf trio_scanf #endif #ifndef HAVE_VSCANF # undef vscanf # define vscanf trio_vscanf #endif #ifndef HAVE_FSCANF # undef fscanf # define fscanf trio_fscanf #endif #ifndef HAVE_VFSCANF # undef vfscanf # define vfscanf trio_vfscanf #endif #ifndef HAVE_SSCANF # undef sscanf # define sscanf trio_sscanf #endif #ifndef HAVE_VSSCANF # undef vsscanf # define vsscanf trio_vsscanf #endif /* These aren't stdio functions, but we make them look similar */ #undef dprintf #define dprintf trio_dprintf #undef vdprintf #define vdprintf trio_vdprintf #undef aprintf #define aprintf trio_aprintf #undef vaprintf #define vaprintf trio_vaprintf #undef asprintf #define asprintf trio_asprintf #undef vasprintf #define vasprintf trio_vasprintf #undef dscanf #define dscanf trio_dscanf #undef vdscanf #define vdscanf trio_vdscanf #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* WITHOUT_TRIO */ #endif /* TRIO_TRIO_H */