aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/su2
ModeNameSize
-rw-r--r--Makefile527logstatsplainblame
-rw-r--r--distinfo86logstatsplainblame
d---------files108logstatsplain
-rw-r--r--pkg-descr1070logstatsplainblame
compile fix' href='/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/camel/camel-stream.h?h=GAL_2_3_0&id=fe962a2055234adf407999f0557ae25441ca5c35'>fe962a2055
b3cdb41a12

8cb514d6dd


b3cdb41a12
e72c45d304
b3cdb41a12
580d885820
b3cdb41a12
65ec43cb55
e72c45d304
b3cdb41a12
b3cdb41a12
580d885820
65ec43cb55


4b82b86ee5

2ce4eb74b6

fe058b1be7
2ce4eb74b6
65ec43cb55
b3cdb41a12

8cb514d6dd

b3cdb41a12
b3cdb41a12
4b82b86ee5

2ce4eb74b6

65ec43cb55
2ce4eb74b6
fe058b1be7
19a118096f
4b82b86ee5


65ec43cb55



4b82b86ee5
19a118096f
b3cdb41a12




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
                                                                                             

                                                   

          
                                               
  
                                                     
  
                                                                
                                                                   
                                                        





















                                                                      
                   
                   
                               

                                                        


                                                                                                 
 
                   
 
                                  
 
                     
  
 
                
                                      


                             

                                                                                    

                                                      
                                                      
                                                      
 

                   

                                       
 
                    

                                                                                       

                                                         
                                                         
                                                         
 
                              


                                                                                              



                                                                
                                                                                       
 




                           
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; fill-column: 160 -*- */
/* camel-stream.h : class for an abstract stream */

/*
 * Author:
 *  Bertrand Guiheneuf <bertrand@helixcode.com>
 *
 * Copyright 1999, 2000 Ximian, Inc. (www.ximian.com)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of version 2 of the GNU General Public
 * License as published by the Free Software Foundation.
 *
 * 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_H
#define CAMEL_STREAM_H 1


#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus }*/

#include <stdarg.h>
#include <unistd.h>
#include <camel/camel-object.h>

#define CAMEL_STREAM_TYPE     (camel_stream_get_type ())
#define CAMEL_STREAM(obj)     (CAMEL_CHECK_CAST((obj), CAMEL_STREAM_TYPE, CamelStream))
#define CAMEL_STREAM_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_STREAM_TYPE, CamelStreamClass))
#define CAMEL_IS_STREAM(o)    (CAMEL_CHECK_TYPE((o), CAMEL_STREAM_TYPE))

struct _CamelStream
{
    CamelObject parent_object;

    gboolean eos;
};

typedef struct {
    CamelObjectClass parent_class;

    /* Virtual methods */

    ssize_t   (*read)       (CamelStream *stream, char *buffer, size_t n);
    ssize_t   (*write)      (CamelStream *stream, const char *buffer, size_t n);
    int       (*close)      (CamelStream *stream);
    int       (*flush)      (CamelStream *stream);
    gboolean  (*eos)        (CamelStream *stream);
    int       (*reset)      (CamelStream *stream);

} CamelStreamClass;

/* Standard Camel function */
CamelType camel_stream_get_type (void);

/* public methods */
ssize_t    camel_stream_read       (CamelStream *stream, char *buffer, size_t n);
ssize_t    camel_stream_write      (CamelStream *stream, const char *buffer, size_t n);
int        camel_stream_flush      (CamelStream *stream);
int        camel_stream_close      (CamelStream *stream);
gboolean   camel_stream_eos        (CamelStream *stream);
int        camel_stream_reset      (CamelStream *stream);

/* utility macros and funcs */
ssize_t camel_stream_write_string (CamelStream *stream, const char *string);
ssize_t camel_stream_printf (CamelStream *stream, const char *fmt, ... ) G_GNUC_PRINTF (2, 3);
ssize_t camel_stream_vprintf (CamelStream *stream, const char *fmt, va_list ap);

/* Write a whole stream to another stream, until eof or error on
 * either stream.
 */
ssize_t camel_stream_write_to_stream (CamelStream *stream, CamelStream *output_stream);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* CAMEL_STREAM_H */