ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/dbuf.h
(Generate patch)

Comparing:
ircd-hybrid-8/include/dbuf.h (file contents), Revision 1156 by michael, Tue Aug 9 20:29:20 2011 UTC vs.
ircd-hybrid/trunk/include/dbuf.h (file contents), Revision 4565 by michael, Sun Aug 24 10:27:40 2014 UTC

# Line 1 | Line 1
1   /*
2 < *  ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3 < *  dbuf.h: A header for the dynamic buffers functions.
2 > *  ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3   *
4 < *  Copyright (C) 2002 by the past and present ircd coders, and others.
4 > *  Copyright (c) 1997-2014 ircd-hybrid development team
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 16 | Line 15
15   *
16   *  You should have received a copy of the GNU General Public License
17   *  along with this program; if not, write to the Free Software
18 < *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
18 > *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19   *  USA
20 < *
21 < *  $Id$
20 > */
21 >
22 > /*! \file dbuf.h
23 > * \brief A header for the dynamic buffers functions.
24 > * \version $Id$
25   */
26  
27   #ifndef __DBUF_H_INCLUDED
28   #define __DBUF_H_INCLUDED
29  
30 < #define DBUF_BLOCK_SIZE 1024  /* this is also our MTU used for sending */
30 > #define DBUF_BLOCK_SIZE 1024
31  
32   #define dbuf_length(x) ((x)->total_size)
33   #define dbuf_clear(x) dbuf_delete(x, dbuf_length(x))
34  
35   struct dbuf_block
36   {
37 +  int refs;
38    size_t size;
39    char data[DBUF_BLOCK_SIZE];
40   };
# Line 40 | Line 43 | struct dbuf_queue
43   {
44    dlink_list blocks;
45    size_t total_size;
46 +  size_t pos;
47   };
48  
49   extern void dbuf_init(void);
50 < extern void dbuf_put(struct dbuf_queue *, char *, size_t);
50 > extern struct dbuf_block *dbuf_alloc(void);
51 > extern void dbuf_ref_free(struct dbuf_block *);
52 > extern void dbuf_add(struct dbuf_queue *, struct dbuf_block *);
53   extern void dbuf_delete(struct dbuf_queue *, size_t);
54 + extern void dbuf_put_fmt(struct dbuf_block *, const char *, ...);
55 + extern void dbuf_put_args(struct dbuf_block *, const char *, va_list);
56 + extern void dbuf_put(struct dbuf_queue *, const char *, size_t);
57   #endif

Diff Legend

– Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)