1 /* 2 * Python object definition of the libolecf stream 3 * 4 * Copyright (C) 2008-2021, Joachim Metz <joachim.metz@gmail.com> 5 * 6 * Refer to AUTHORS for acknowledgements. 7 * 8 * This program is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU Lesser General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License 19 * along with this program. If not, see <https://www.gnu.org/licenses/>. 20 */ 21 22 #if !defined( _PYOLECF_STREAM_H ) 23 #define _PYOLECF_STREAM_H 24 25 #include <common.h> 26 #include <types.h> 27 28 #include "pyolecf_item.h" 29 #include "pyolecf_python.h" 30 31 #if defined( __cplusplus ) 32 extern "C" { 33 #endif 34 35 extern PyMethodDef pyolecf_stream_object_methods[]; 36 extern PyTypeObject pyolecf_stream_type_object; 37 38 PyObject *pyolecf_stream_read_buffer( 39 pyolecf_item_t *pyolecf_item, 40 PyObject *arguments, 41 PyObject *keywords ); 42 43 PyObject *pyolecf_stream_read_buffer_at_offset( 44 pyolecf_item_t *pyolecf_item, 45 PyObject *arguments, 46 PyObject *keywords ); 47 48 PyObject *pyolecf_stream_seek_offset( 49 pyolecf_item_t *pyolecf_item, 50 PyObject *arguments, 51 PyObject *keywords ); 52 53 PyObject *pyolecf_stream_get_offset( 54 pyolecf_item_t *pyolecf_item, 55 PyObject *arguments ); 56 57 #if defined( __cplusplus ) 58 } 59 #endif 60 61 #endif /* !defined( _PYOLECF_STREAM_H ) */ 62 63