add an "ifdef WIN32" to "include malloc.h" to be compliant with non-WIN32 platforms.
[openjpeg.git] / mj2 / libopenjpeg_097 / cio.h
1 /*\r
2  * Copyright (c) 2001-2002, David Janssens\r
3  * All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  * 1. Redistributions of source code must retain the above copyright\r
9  *    notice, this list of conditions and the following disclaimer.\r
10  * 2. Redistributions in binary form must reproduce the above copyright\r
11  *    notice, this list of conditions and the following disclaimer in the\r
12  *    documentation and/or other materials provided with the distribution.\r
13  *\r
14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'\r
15  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\r
18  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
19  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
20  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
21  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
22  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
23  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
24  * POSSIBILITY OF SUCH DAMAGE.\r
25  */\r
26 \r
27 #ifndef __CIO_H\r
28 #define __CIO_H\r
29 \r
30 /* \r
31  * Number of bytes written.\r
32  *\r
33  * returns number of bytes written\r
34  */\r
35 int cio_numbytes();\r
36 \r
37 /*\r
38  * Get position in byte stream.\r
39  *\r
40  * return position in bytes\r
41  */\r
42 int cio_tell();\r
43 \r
44 /*\r
45  * Set position in byte stream.\r
46  *\r
47  * pos : position, in number of bytes, from the beginning of the stream\r
48  */\r
49 void cio_seek(int pos);\r
50 \r
51 /*\r
52  * Number of bytes left before the end of the stream.\r
53  *\r
54  * Returns the number of bytes before the end of the stream \r
55  */\r
56 int cio_numbytesleft();\r
57 \r
58 /*\r
59  * Get pointer to the current position in the stream.\r
60  *\r
61  * return : pointer to the position\r
62  */\r
63 unsigned char *cio_getbp();\r
64 \r
65 /* \r
66  * Initialize byte IO\r
67  *\r
68  * bp  : destination/source stream\r
69  * len : length of the stream\r
70  */\r
71 void cio_init(unsigned char *bp, int len);\r
72 \r
73 /*\r
74  * Write some bytes.\r
75  *\r
76  * v : value to write\r
77  * n : number of bytes to write\r
78  */\r
79 void cio_write(unsigned int v, int n);\r
80 \r
81 /*\r
82  * Read some bytes.\r
83  *\r
84  * n : number of bytes to read\r
85  *\r
86  * return : value of the n bytes read\r
87  */\r
88 unsigned int cio_read(int n);\r
89 \r
90 /* \r
91  * Skip some bytes.\r
92  *\r
93  * n : number of bytes to skip\r
94  */\r
95 void cio_skip(int n);\r
96 \r
97 /*\r
98  * Read n bytes, copy to buffer\r
99  */\r
100 void cio_read_to_buf(unsigned char* src_buf, int n);/* Glenn Pearson adds */\r
101 \r
102 /*\r
103  * Write n bytes, copy from buffer\r
104  */\r
105 void cio_write_from_buf(unsigned char* dest_buf, int n);/* Glenn Pearson adds */\r
106 \r
107 #endif\r