/usr/include/xine/io_helper.h is in libxine2-dev 1.2.8-2build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /*
* Copyright (C) 2000-2007 the xine project,
*
* This file is part of xine, a free video player.
*
* xine is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* xine 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*
* abortable i/o helper functions
*/
#ifndef IO_HELPER_H
#define IO_HELPER_H
#include "xine_internal.h"
/* select states */
#define XIO_READ_READY 1
#define XIO_WRITE_READY 2
/* xine select return codes */
#define XIO_READY 0
#define XIO_ERROR 1
#define XIO_ABORTED 2
#define XIO_TIMEOUT 3
/*
* Waits for a file descriptor/socket to change status.
*
* network input plugins should use this function in order to
* not freeze the engine.
*
* params :
* stream needed for aborting and reporting errors but may be NULL
* fd file/socket descriptor
* state XIO_READ_READY, XIO_WRITE_READY
* timeout_sec timeout in seconds
*
* An other thread can abort this function if stream != NULL by setting
* stream->demux_action_pending.
*
* return value :
* XIO_READY the file descriptor is ready for cmd
* XIO_ERROR an i/o error occured
* XIO_ABORTED command aborted by an other thread
* XIO_TIMEOUT the file descriptor is not ready after timeout_msec milliseconds
*/
int _x_io_select (xine_stream_t *stream, int fd, int state, int timeout_msec) XINE_PROTECTED;
/*
* open a tcp connection
*
* params :
* stream needed for reporting errors but may be NULL
* host address of target
* port port on target
*
* returns a socket descriptor or -1 if an error occured
*/
int _x_io_tcp_connect(xine_stream_t *stream, const char *host, int port) XINE_PROTECTED;
/*
* wait for finish connection
*
* params :
* stream needed for aborting and reporting errors but may be NULL
* fd socket descriptor
* timeout_msec timeout in milliseconds
*
* return value:
* XIO_READY host respond, the socket is ready for cmd
* XIO_ERROR an i/o error occured
* XIO_ABORTED command aborted by an other thread
* XIO_TIMEOUT the file descriptor is not ready after timeout
*/
int _x_io_tcp_connect_finish(xine_stream_t *stream, int fd, int timeout_msec) XINE_PROTECTED;
/*
* read from tcp socket checking demux_action_pending
*
* network input plugins should use this function in order to
* not freeze the engine.
*
* aborts with zero if no data is available and *abort is set
*/
off_t _x_io_tcp_read (xine_stream_t *stream, int s, void *buf, off_t todo) XINE_PROTECTED;
/*
* write to a tcp socket checking demux_action_pending
*
* network input plugins should use this function in order to
* not freeze the engine.
*
* aborts with zero if no data is available and *abort is set
*/
off_t _x_io_tcp_write (xine_stream_t *stream, int s, void *buf, off_t todo) XINE_PROTECTED;
/*
* read from a file descriptor checking demux_action_pending
*
* the fifo input plugin should use this function in order to
* not freeze the engine.
*
* aborts with zero if no data is available and *abort is set
*/
off_t _x_io_file_read (xine_stream_t *stream, int fd, void *buf, off_t todo) XINE_PROTECTED;
/*
* write to a file descriptor checking demux_action_pending
*
* the fifo input plugin should use this function in order to
* not freeze the engine.
*
* aborts with zero if *abort is set
*/
off_t _x_io_file_write (xine_stream_t *stream, int fd, void *buf, off_t todo) XINE_PROTECTED;
/*
* read a string from socket, return string length (same as strlen)
* the string is always '\0' terminated but given buffer size is never exceeded
* that is, _x_io_tcp_read_line(,,,X) <= (X-1) ; X > 0
*/
int _x_io_tcp_read_line(xine_stream_t *stream, int sock, char *str, int size) XINE_PROTECTED;
#endif
|