Home | History | Annotate | Download | only in dbus
      1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
      2 /* dbus-sysdeps.h Wrappers around system/libc features (internal to D-Bus implementation)
      3  *
      4  * Copyright (C) 2002, 2003  Red Hat, Inc.
      5  * Copyright (C) 2003 CodeFactory AB
      6  *
      7  * Licensed under the Academic Free License version 2.1
      8  *
      9  * This program is free software; you can redistribute it and/or modify
     10  * it under the terms of the GNU General Public License as published by
     11  * the Free Software Foundation; either version 2 of the License, or
     12  * (at your option) any later version.
     13  *
     14  * This program is distributed in the hope that it will be useful,
     15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17  * GNU General Public License for more details.
     18  *
     19  * You should have received a copy of the GNU General Public License
     20  * along with this program; if not, write to the Free Software
     21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
     22  *
     23  */
     24 
     25 #ifndef DBUS_PIPE_H
     26 #define DBUS_PIPE_H
     27 
     28 #ifdef HAVE_STDINT_H
     29 #include <stdint.h>
     30 #endif
     31 
     32 #ifdef HAVE_INTTYPES_H
     33 #include <inttypes.h>
     34 #endif
     35 
     36 #include <dbus/dbus-types.h>
     37 #include <dbus/dbus-errors.h>
     38 #include <dbus/dbus-string.h>
     39 #include <dbus/dbus-sysdeps.h>
     40 
     41 struct DBusPipe {
     42   intptr_t fd_or_handle;
     43 };
     44 
     45 void        _dbus_pipe_init                (DBusPipe         *pipe,
     46                                             intptr_t          fd);
     47 void        _dbus_pipe_init_stdout         (DBusPipe         *pipe);
     48 int         _dbus_pipe_write               (DBusPipe         *pipe,
     49                                             const DBusString *buffer,
     50                                             int               start,
     51                                             int               len,
     52                                             DBusError        *error);
     53 int         _dbus_pipe_close               (DBusPipe         *pipe,
     54                                             DBusError        *error);
     55 dbus_bool_t _dbus_pipe_is_valid            (DBusPipe         *pipe);
     56 void        _dbus_pipe_invalidate          (DBusPipe         *pipe);
     57 dbus_bool_t _dbus_pipe_is_stdout_or_stderr (DBusPipe         *pipe);
     58 
     59 #endif
     60