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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
/*
** The cvsgui protocol used by WinCvs
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library 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
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*
* gimpwire.h from the GIMP modified for the cvsgui project by :
* Alexandre Parenteau <aubonbeurre@hotmail.com> --- November 1999
*/
#ifndef CVSGUI_WIRE_H
#define CVSGUI_WIRE_H
#ifdef WIN32
# include <Windows.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __G_LIB_H__
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;
typedef char gchar;
typedef short gshort;
typedef long glong;
typedef int gint;
typedef gint gboolean;
typedef unsigned char guchar;
typedef unsigned short gushort;
typedef unsigned long gulong;
typedef unsigned int guint;
typedef float gfloat;
typedef double gdouble;
typedef void* gpointer;
typedef const void *gconstpointer;
#ifndef FALSE
#define FALSE (0)
#endif
#ifndef TRUE
#define TRUE (!FALSE)
#endif
#endif // !__G_LIB_H__
#ifdef WIN32
# ifdef pid_t
# undef pid_t // config.h of cvs
# endif
typedef HANDLE pid_t;
typedef HANDLE pipe_t;
#else
typedef int pipe_t;
#endif
typedef struct _WireMessage WireMessage;
typedef void (* WireReadFunc) (pipe_t fd, WireMessage *msg);
typedef void (* WireWriteFunc) (pipe_t fd, WireMessage *msg);
typedef void (* WireDestroyFunc) (WireMessage *msg);
typedef int (* WireIOFunc) (pipe_t fd, guint8 *buf, gulong count);
typedef int (* WireFlushFunc) (pipe_t fd);
struct _WireMessage
{
guint32 type;
gpointer data;
};
void wire_register (guint32 type,
WireReadFunc read_func,
WireWriteFunc write_func,
WireDestroyFunc destroy_func);
void wire_set_reader (WireIOFunc read_func);
void wire_set_writer (WireIOFunc write_func);
void wire_set_flusher (WireFlushFunc flush_func);
int wire_read (pipe_t fd,
guint8 *buf,
gulong count);
int wire_write (pipe_t fd,
guint8 *buf,
gulong count);
int wire_flush (pipe_t fd);
int wire_error (void);
void wire_clear_error (void);
int wire_read_msg (pipe_t fd,
WireMessage *msg);
int wire_write_msg (pipe_t fd,
WireMessage *msg);
void wire_destroy (WireMessage *msg);
int wire_read_int32 (pipe_t fd,
guint32 *data,
gint count);
int wire_read_int16 (pipe_t fd,
guint16 *data,
gint count);
int wire_read_int8 (pipe_t fd,
guint8 *data,
gint count);
int wire_read_double (pipe_t fd,
gdouble *data,
gint count);
int wire_read_string (pipe_t fd,
gchar **data,
gint count);
int wire_write_int32 (pipe_t fd,
guint32 *data,
gint count);
int wire_write_int16 (pipe_t fd,
guint16 *data,
gint count);
int wire_write_int8 (pipe_t fd,
guint8 *data,
gint count);
int wire_write_double (pipe_t fd,
gdouble *data,
gint count);
int wire_write_string (pipe_t fd,
gchar **data,
gint count);
#ifdef __cplusplus
}
#endif
#endif /* CVSGUI_WIRE_H */
|