source: trunk/third/gnome-vfs/libgnomevfs/gnome-vfs-socket.h @ 17128

Revision 17128, 2.4 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17127, which included commits to RCS files with non-trunk default branches.
Line 
1/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
2/* gnome-vfs-socket.h
3 *
4 * Copyright (C) 2001 Seth Nickell
5 * Copyright (C) 2001 Maciej Stachowiak
6 *
7 * The Gnome Library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public License as
9 * published by the Free Software Foundation; either version 2 of the
10 * License, or (at your option) any later version.
11 *
12 * The Gnome Library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public
18 * License along with the Gnome Library; see the file COPYING.LIB.  If not,
19 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 *
22 */
23/*
24 * Authors: Seth Nickell <snickell@stanford.edu>
25 *          Maciej Stachowiak <mjs@noisehavoc.org>
26 *          (reverse-engineered from code by Ian McKellar <yakk@yakk.net>)
27 */
28
29#ifndef GNOME_VFS_SOCKET_H
30#define GNOME_VFS_SOCKET_H
31
32#include <libgnomevfs/gnome-vfs-file-size.h>
33#include <libgnomevfs/gnome-vfs-result.h>
34
35typedef struct GnomeVFSSocket GnomeVFSSocket;
36
37
38typedef GnomeVFSResult (*GnomeVFSSocketReadFunc)  (gpointer connection,
39                                                   gpointer buffer,
40                                                   GnomeVFSFileSize bytes,
41                                                   GnomeVFSFileSize *bytes_read);
42typedef GnomeVFSResult (*GnomeVFSSocketWriteFunc) (gpointer connection,
43                                                   gconstpointer buffer,
44                                                   GnomeVFSFileSize bytes,
45                                                   GnomeVFSFileSize *bytes_written);
46
47typedef void           (*GnomeVFSSocketCloseFunc) (gpointer connection);
48
49typedef struct {
50  GnomeVFSSocketReadFunc read;
51  GnomeVFSSocketWriteFunc write;
52  GnomeVFSSocketCloseFunc close;
53} GnomeVFSSocketImpl;
54
55
56GnomeVFSSocket* gnome_vfs_socket_new     (GnomeVFSSocketImpl *impl,
57                                          void               *connection);
58GnomeVFSResult  gnome_vfs_socket_write   (GnomeVFSSocket     *socket,
59                                          gconstpointer       buffer,
60                                          int                 bytes,
61                                          GnomeVFSFileSize   *bytes_written);
62GnomeVFSResult  gnome_vfs_socket_close   (GnomeVFSSocket     *socket);
63GnomeVFSResult  gnome_vfs_socket_read    (GnomeVFSSocket     *socket,
64                                          gpointer            buffer,
65                                          GnomeVFSFileSize    bytes,
66                                          GnomeVFSFileSize   *bytes_read);
67#endif /* GNOME_VFS_SOCKET_H */
Note: See TracBrowser for help on using the repository browser.