/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* camel-stream-buffer.h :stream which buffers another stream */ /* * * Author : * Michael Zucchi * * Copyright 2000 Helix Code Inc. (http://www.helixcode.com) . * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #ifndef CAMEL_STREAM_BUFFER_H #define CAMEL_STREAM_BUFFER_H 1 #ifdef __cplusplus extern "C" { #pragma } #endif /* __cplusplus }*/ #include #include #define CAMEL_STREAM_BUFFER_TYPE (camel_stream_buffer_get_type ()) #define CAMEL_STREAM_BUFFER(obj) (CAMEL_CHECK_CAST((obj), CAMEL_STREAM_BUFFER_TYPE, CamelStreamBuffer)) #define CAMEL_STREAM_BUFFER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_STREAM_BUFFER_TYPE, CamelStreamBufferClass)) #define CAMEL_IS_STREAM_BUFFER(o) (CAMEL_CHECK_TYPE((o), CAMEL_STREAM_BUFFER_TYPE)) typedef enum { CAMEL_STREAM_BUFFER_BUFFER = 0, CAMEL_STREAM_BUFFER_NEWLINE, CAMEL_STREAM_BUFFER_NONE, CAMEL_STREAM_BUFFER_READ = 0x00, CAMEL_STREAM_BUFFER_WRITE = 0x80, CAMEL_STREAM_BUFFER_MODE = 0x80 } CamelStreamBufferMode; struct _CamelStreamBuffer { CamelStream parent_object; /* these are all of course, private */ CamelStream *stream; unsigned char *buf, *ptr, *end; int size; unsigned char *linebuf; /* for reading lines at a time */ int linesize; CamelStreamBufferMode mode; unsigned int flags; /* internal flags */ }; typedef struct { CamelStreamClass parent_class; /* Virtual methods */ void (*init) (CamelStreamBuffer *stream_buffer, CamelStream *stream, CamelStreamBufferMode mode); void (*init_vbuf) (CamelStreamBuffer *stream_buffer, CamelStream *stream, CamelStreamBufferMode mode, char *buf, guint32 size); } CamelStreamBufferClass; /* Standard Camel function */ CamelType camel_stream_buffer_get_type (void); /* public methods */ CamelStream *camel_stream_buffer_new (CamelStream *s, CamelStreamBufferMode mode); CamelStream *camel_stream_buffer_new_with_vbuf (CamelStream *s, CamelStreamBufferMode mode, char *buf, guint32 size); /* unimplemented CamelStream *camel_stream_buffer_set_vbuf (CamelStreamBuffer *b, CamelStreamBufferMode mode, char *buf, guint32 size); */ /* read a line of characters */ int camel_stream_buffer_gets (CamelStreamBuffer *b, char *buf, unsigned int max); char *camel_stream_buffer_read_line (CamelStreamBuffer *sbf); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CAMEL_STREAM_BUFFER_H */ tion> FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* The I128 driver doesn't build properly on the Alpha so remove it.steve2002-01-251-1/+3
* Turn on SYSCONS_SUPPORT for the Alpha architecture. The build gets fartherjhb2002-01-161-8/+9
* Bump PORTREVISION after patch-xdm addition.jmz2001-09-291-1/+1
* Fix to set environment login.confjmz2001-09-291-0/+27
* Add a patch to fix up the build-bindist script to not use the extractjhb2001-09-071-0/+16
* The 3.3.6 to 3.3.6a (3.3.7?) patch changed the name of the DGUX docs fromjhb2001-09-071-0/+2
* People, if you want X11 bits with the releases, you need to leave theobrien2001-09-071-0/+1
* Always enable extended input devices. Disabling this feature breaks the build.jmz2001-07-281-6/+6
* Add most recent patches from the XFree86 cvs repository.jmz2001-04-272-1/+89
* Bring in the most recent bits from the XFree86 cvs repository (securityjmz2001-04-0611-640/+18
* Make these into actual patches against XFree86 instead of patches againstjhb2001-03-224-271/+66
* Actually name the configure script 'configure' in the BUILD_XDIST case sojhb2001-03-221-1/+1
* Add patches needed in building a release X11 distribution that matchesobrien2001-02-285-0/+272
* Spelling fix.jmz2001-02-281-1/+1
* Add needed support for building an X distribution that mirrors theobrien2001-02-183-7/+229
* Style fixes for ports category x11.olgeni2001-02-061-2/+2
* Fix a small bug in the MouseKeysAccel feature. Seejmz2001-01-272-1/+61
* Fix typos in one of the XFree86 header files which corrupted the returnjmz2000-12-132-1/+31
* Compilation fixes for changes in machine/console.h and machine/mouse.h injmz2000-12-053-0/+85
* Increment PORTVERSIONjmz2000-12-051-1/+1
* This patch solves several problem to Korean users:jmz2000-10-282-1/+11
* Back out previous commit. The path in the patch file is incorrect. I willjmz2000-10-282-11/+1
* This patch solves several problem to Korean users:jmz2000-10-281-0/+10
* PORTREVISION=4jmz2000-10-281-1/+1
* Fix entry for zh_TW.Big5 XLC_LOCALEjmz2000-10-231-0/+11
* Add support for the Savage IX/MV chipset.jmz2000-10-231-0/+208
* PORTREVISION=3jmz2000-10-231-1/+1
* Add the latest fixes to PATCHFILES (all related to the s3 driver)jmz2000-10-102-3/+9
* Rename PLIST.* to pkg-plist.*.asami2000-10-081-2/+2
* Add PORTREVISION=1jmz2000-09-261-0/+1
* Fix compilation. There was an undefined variable.jmz2000-09-261-5/+7
* Some problems were discovered in X11 libraries which can cause DoS injmz2000-09-251-0/+556
* Make life of maintainers of various XFree ports a bit easier by movingsobomax2000-09-211-5/+2
* Move patch relative to FreeBSD.cf from patch-00 to patch-e.jmz2000-08-042-61/+71
* Rename the file that the interactive configure script producessheldonh2000-07-312-5/+19
* Rename INSTALLS_SHLIBS to INSTALLS_SHLIB. (There was a typo in theasami2000-06-171-1/+1
* Fix MASSIVE typo INSTALL_SHLIBS --> INSTALLS_SHLIBS, which occured because Isobomax2000-06-161-1/+1
* Second round of INSTALL_SHLIBS=yes fixes.sobomax2000-06-165-9/+1
* Compile in i810 graphics driver support (without AGP kernel support).ru2000-06-093-1/+13
* If we have tcl/tk, build XF86Setup. This makes the package work.msmith2000-05-191-0/+1
* Set WRKSRC=${WRKDIR}/${DIST_SUBDIR}. Otherwise it will not build.jmz2000-04-161-1/+2
* Update to use PORTNAME/PORTVERSIONcpiazza2000-04-141-3/+2
* Add X symlink and file it points to (XF86_SVGA), some ports want to see ifasami2000-03-281-0/+2
* xfree86.cdrom.com -> ftp.freesoftware.comasami2000-03-131-2/+2
* Include libXThrStub.so on the Alpha package version.jkh2000-03-101-0/+2
* Discourage the building of a.out libs in favour of the new XFree86-aoutlibsreg2000-03-075-15/+16
* In 4.0-current, there is a new czech locale, but appropriate line injmz2000-02-191-0/+11
* A better fix to the XF86Setup core dump problem: use /usr/bin/cpp insteadjmz2000-02-162-9/+13
* Update the XFree86 3.3.6 port to:jmz2000-02-106-3/+18
* Enable building XF86Setup with tcl/tk 8.3jmz2000-02-041-1/+6
* Add libXThrStubjmz2000-01-251-0/+2
* Allow sessreg to update /var/run/utmpjmz2000-01-241-0/+12
* FreeBSD still supports the ru_SU locale, so there is no reason to exclude itjmz2000-01-231-0/+13
* Unbreak XF86Setup. I am not sure of the correctness of the patch - I havejmz2000-01-191-0/+21
* When copying Wraphelp.c use tr -d '\r' instead of cp. Too many peoplejmz2000-01-181-1/+1
* Revert my previous commit. The problem is not with tcl/tk 8.2jmz2000-01-171-2/+7
* Do not build XF86Setup with tcl/tk 8.2. It will not work.jmz2000-01-171-7/+2
* There is a new library: XThrStubjmz2000-01-132-1/+3
* Disable the i860 driver. It does not compile.jmz2000-01-121-1/+1
* Upgrade to version 3.3.6jmz2000-01-121-13/+2
* Upgrade to version 3.3.6jmz2000-01-1218-30/+856
* Upgrade to version 3.3.6 (threads support is already included)jmz2000-01-121-2/+2
* Upgrade to version 3.3.6jmz2000-01-121-9/+9
* Add missing libraries.asami1999-12-311-0/+2
* Remove the old KerberosIV stuff and PAM-ize.markm1999-12-253-46/+17
* Add directives such as HasJpTk and HasJpTcl when compiling with japanese tcl/tkjmz1999-12-061-9/+35
* Add files specific to xf98 and remove their xf86 equivalent.jmz1999-12-061-4/+19
* Allow building XF86Setp with japanese tcl/tkjmz1999-11-301-1/+11
* Change Imake.tmpl and FreeBSD.cf. Imake programs will now use the systemjmz1999-11-251-0/+20
* Unbreak.jmz1999-11-251-5/+0
* Unbreak for pre-gcc 2.95 systemsjmz1999-11-231-1/+4
* Mark BROKEN, this defines putenv(), which has preprocessor #ifdef's wrappedbillf1999-11-171-0/+2
* Add support for threads (use at your own risk)jmz1999-11-131-0/+11
* Turn off NO_PACKAGE for the Alpha. XFree86 is not yet providing us bitsobrien1999-11-131-0/+2
* Pickup some missing files in PLIST.steve1999-11-012-0/+19
* Now that the port is no more marked broken, there is no need to include bsd.p...jmz1999-10-111-2/+0
* Unbreak for -current.marcel1999-10-101-3/+0
* Mark BROKEN for -current (signal.h)jmz1999-10-091-0/+5
* Fix for problem with S3 Trio3D/2X chipset based video cards.jmz1999-10-061-0/+11
* Remove trailing white spaces in xterm termcap.jmz1999-09-271-0/+19
* Add aout libs, they are needed by netscape. Run ldconfig twice,asami1999-09-241-3/+24
* Use @exec/@unexec pairs for symlinks to directories. This should fixjmz1999-09-212-4/+8
* Add Xvfb, we could use it to build packages.asami1999-09-211-0/+1
* Add support for tk8.2jseger1999-09-071-1/+6
* Remove an extra blank line that I introduced a couple of revs ago.steve1999-09-071-1/+0
* Quick fix so this builds again on FreeBSD/Alpha.steve1999-09-061-0/+20
* Restore patches from rev. 1.18: add shlib minors to libraries with minors != 0jmz1999-09-031-6/+6
* Upgrade to 3.3.5jmz1999-09-021-2/+7
* Upgrade to 3.3.5jmz1999-09-022-11/+11
* FreeBSD.ORG -> FreeBSD.orgmharo1999-08-311-1/+1
* $Id$ -> $FreeBSD$peter1999-08-311-1/+1
* grep -> ${GREP}mharo1999-08-231-2/+2
* Link the greeting code in statically like we do on the i386 so that xdmsteve1999-08-022-2/+11
* Add Doug Rabson's patches for XFree86 on the FreeBSD/Alpha with minorsteve1999-07-274-2/+2714
* Remove trailing whitespace.asami1999-07-231-4/+4
* Use ${OSVERSION} instead of uname.asami1999-07-212-2/+3
* Upgrade to 3.3.4jmz1999-07-216-45/+67
* Updated checksum.asami1999-05-311-1/+1
* Add WWW:mharo1999-05-031-0/+2
* Back out two patches that were not intended for commit.asami1999-03-202-5/+2
* Fix to make ports work with bsd.port.mk rev. 1.306.asami1999-03-082-2/+5
* Fix up MASTER_SITES:fenner1999-01-281-5/+5
* Patches are included in the 3.3.3.1 patch file.jmz1999-01-121-12/+0
* Upgrade to 3.3.3.1jmz1999-01-122-2/+10
* A stripped down version of PLIST to create a minimal tarball for buildingasami1998-12-281-0/+602
* Add missing drivers: s3_virge, newmmio mmio_928 s3_generic,jmz1998-12-191-2/+7
* Fix for KOI8-R keyboard table (was replaced with 8859-5 one)ache1998-12-111-0/+12
* Restore shlib minors != 0.asami1998-11-241-6/+6
* Typo (was making libX11.so symlink in two places).asami1998-11-241-2/+2
* Upgrade to 3.3.3jmz1998-11-245-80/+136
* Delete unnecessary files.kuriyama1998-11-151-14/+0
* Use bsd.port.{pre,post}.mk to move PORTOBJFORMAT to front, or changeasami1998-11-141-17/+20
* Add support for pc98 machinesjmz1998-10-271-10/+38
* Add support for pc98 machinesjmz1998-10-271-0/+2655
* Add support for pc98 machinesjmz1998-10-271-1/+5
* Fixes for Krb4.markm1998-09-231-8/+16
* Make lib*.so links in a.out case.asami1998-09-221-1/+15
* Convert to ELF. These changes are based on a recent threadsteve1998-09-213-5/+25
* Add checksum for 3.3.2-patch3jmz1998-08-061-0/+1
* Add 3.3.2-patch3 to PATCHFILES.jmz1998-08-061-2/+2
* Rename all USE_X11 to USE_X_PREFIX. Requires 1.279 (3.0-current) orasami1998-08-051-2/+4
* Don't propose to build with secure RPC on 2.x systems - this is a FreeBSD-3.xjmz1998-07-281-2/+3
* Upgrade to XFree86 3.3.2p2.cwt1998-07-031-0/+1
* Upgrade to XFree86 3.3.2p2. If you have tcl/tk 8.0 on your system andcwt1998-07-031-2/+2
* This is bugfix patch number 1 for XFree86 3.3.2. This patch fixes thejmz1998-05-062-1/+10
* Execute `ldconfig -R' at the pkg_delete step.tg1998-05-051-0/+1
* Don't try to untar Wraphelp.c if USA_RESIDENT=NOjmz1998-04-041-1/+2
* Enable all sorts of useful security features:markm1998-03-193-20/+102
* Built XF86Setup only if tk4.2/tcl7.6 is there. Other versions do not seem tojmz1998-03-161-3/+4
* Add a few files.jmz1998-03-091-0/+40