author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (unidiff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /core/multimedia/opieplayer/libmpeg3/mpeg3io.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
Diffstat (limited to 'core/multimedia/opieplayer/libmpeg3/mpeg3io.h') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/libmpeg3/mpeg3io.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libmpeg3/mpeg3io.h b/core/multimedia/opieplayer/libmpeg3/mpeg3io.h new file mode 100644 index 0000000..092e411 --- a/dev/null +++ b/core/multimedia/opieplayer/libmpeg3/mpeg3io.h | |||
@@ -0,0 +1,74 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | #ifndef MPEG3IO_H | ||
21 | #define MPEG3IO_H | ||
22 | |||
23 | |||
24 | #include <stdio.h> | ||
25 | #include "mpeg3css.h" | ||
26 | #include "mpeg3private.inc" | ||
27 | |||
28 | /* Filesystem structure */ | ||
29 | |||
30 | typedef struct | ||
31 | { | ||
32 | FILE *fd; | ||
33 | mpeg3_css_t *css; /* Encryption object */ | ||
34 | char path[MPEG3_STRLEN]; | ||
35 | /* Hypothetical position of file pointer */ | ||
36 | long current_byte; | ||
37 | long total_bytes; | ||
38 | } mpeg3_fs_t; | ||
39 | |||
40 | #define mpeg3io_tell(fs) (((mpeg3_fs_t *)(fs))->current_byte) | ||
41 | |||
42 | // End of file | ||
43 | #define mpeg3io_eof(fs) (((mpeg3_fs_t *)(fs))->current_byte >= ((mpeg3_fs_t *)(fs))->total_bytes) | ||
44 | |||
45 | // Beginning of file | ||
46 | #define mpeg3io_bof(fs)(((mpeg3_fs_t *)(fs))->current_byte < 0) | ||
47 | |||
48 | |||
49 | #define mpeg3io_total_bytes(fs) (((mpeg3_fs_t *)(fs))->total_bytes) | ||
50 | |||
51 | extern inline unsigned int mpeg3io_read_int32(mpeg3_fs_t *fs) | ||
52 | { | ||
53 | int a, b, c, d; | ||
54 | unsigned int result; | ||
55 | /* Do not fread. This breaks byte ordering. */ | ||
56 | a = (unsigned char)fgetc(fs->fd); | ||
57 | b = (unsigned char)fgetc(fs->fd); | ||
58 | c = (unsigned char)fgetc(fs->fd); | ||
59 | d = (unsigned char)fgetc(fs->fd); | ||
60 | result = ((int)a << 24) | | ||
61 | ((int)b << 16) | | ||
62 | ((int)c << 8) | | ||
63 | ((int)d); | ||
64 | fs->current_byte += 4; | ||
65 | return result; | ||
66 | } | ||
67 | |||
68 | extern inline unsigned int mpeg3io_read_char(mpeg3_fs_t *fs) | ||
69 | { | ||
70 | fs->current_byte++; | ||
71 | return fgetc(fs->fd); | ||
72 | } | ||
73 | |||
74 | #endif | ||