]> Creatis software - gdcm.git/blobdiff - src/gdcmopenjpeg/libopenjpeg/cio.h
ENH: Huge update to openjpeg 1.0 (actually more CVS)...
[gdcm.git] / src / gdcmopenjpeg / libopenjpeg / cio.h
index 8bf1deeec8c054ee910bb5784e4abed78b033d8f..0b05b3d12fb65dc01eedf3ad77a8b3a6e4c5f7b9 100644 (file)
-/*
- * Copyright (c) 2001-2002, David Janssens
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __CIO_H
-#define __CIO_H
-
-/* 
- * Number of bytes written.
- *
- * returns number of bytes written
- */
-int cio_numbytes();
-
-/*
- * Get position in byte stream.
- *
- * return position in bytes
- */
-int cio_tell();
-
-/*
- * Set position in byte stream.
- *
- * pos : position, in number of bytes, from the beginning of the stream
- */
-void cio_seek(int pos);
-
-/*
- * Number of bytes left before the end of the stream.
- *
- * Returns the number of bytes before the end of the stream 
- */
-int cio_numbytesleft();
-
-/*
- * Get pointer to the current position in the stream.
- *
- * return : pointer to the position
- */
-unsigned char *cio_getbp();
-
-/* 
- * Initialize byte IO
- *
- * bp  : destination/source stream
- * len : length of the stream
- */
-void cio_init(unsigned char *bp, int len);
-
-/*
- * Write some bytes.
- *
- * v : value to write
- * n : number of bytes to write
- */
-void cio_write(unsigned int v, int n);
-
-/*
- * Read some bytes.
- *
- * n : number of bytes to read
- *
- * return : value of the n bytes read
- */
-unsigned int cio_read(int n);
-
-/* 
- * Skip some bytes.
- *
- * n : number of bytes to skip
- */
-void cio_skip(int n);
-
-/*
- * Read n bytes, copy to buffer
- */
-void cio_read_to_buf(unsigned char* src_buf, int n);/* Glenn Pearson adds */
-
-/*
- * Write n bytes, copy from buffer
- */
-void cio_write_from_buf(unsigned char* dest_buf, int n);/* Glenn Pearson adds */
-
-#endif
+/*\r
+ * Copyright (c) 2001-2003, David Janssens\r
+ * Copyright (c) 2002-2003, Yannick Verschueren\r
+ * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe\r
+ * Copyright (c) 2005, HervĂ© Drolon, FreeImage Team\r
+ * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\r
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ * POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef __CIO_H\r
+#define __CIO_H\r
+/**\r
+@file cio.h\r
+@brief Implementation of a byte input-output process (CIO)\r
+\r
+The functions in CIO.C have for goal to realize a byte input / output process.\r
+*/\r
+\r
+/** @defgroup CIO CIO - byte input-output stream */\r
+/*@{*/\r
+\r
+/** @name Exported functions (see also openjpeg.h) */\r
+/*@{*/\r
+/* ----------------------------------------------------------------------- */\r
+/**\r
+Number of bytes left before the end of the stream\r
+@param cio CIO handle\r
+@return Returns the number of bytes before the end of the stream\r
+*/\r
+int cio_numbytesleft(opj_cio_t *cio);\r
+/**\r
+Get pointer to the current position in the stream\r
+@param cio CIO handle\r
+@return Returns a pointer to the current position\r
+*/\r
+unsigned char *cio_getbp(opj_cio_t *cio);\r
+/**\r
+Write some bytes\r
+@param cio CIO handle\r
+@param v Value to write\r
+@param n Number of bytes to write\r
+@return Returns the number of bytes written or 0 if an error occured\r
+*/\r
+unsigned int cio_write(opj_cio_t *cio, unsigned int v, int n);\r
+/**\r
+Read some bytes\r
+@param cio CIO handle\r
+@param n Number of bytes to read\r
+@return Returns the value of the n bytes read\r
+*/\r
+unsigned int cio_read(opj_cio_t *cio, int n);\r
+/**\r
+Skip some bytes\r
+@param cio CIO handle\r
+@param n Number of bytes to skip\r
+*/\r
+void cio_skip(opj_cio_t *cio, int n);\r
+/* ----------------------------------------------------------------------- */\r
+/*@}*/\r
+\r
+/*@}*/\r
+\r
+#endif /* __CIO_H */\r
+\r