00001 #ifndef LAME_PORTABLEIO_H
00002 #define LAME_PORTABLEIO_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 #include <stdio.h>
00053
00054 #ifndef __cplusplus
00055 # define CLINK
00056 #else
00057 # define CLINK "C"
00058 #endif
00059
00060 extern CLINK int ReadByte(FILE * fp);
00061 extern CLINK int Read16BitsLowHigh(FILE * fp);
00062 extern CLINK int Read16BitsHighLow(FILE * fp);
00063 extern CLINK void Write8Bits(FILE * fp, int i);
00064 extern CLINK void Write16BitsLowHigh(FILE * fp, int i);
00065 extern CLINK void Write16BitsHighLow(FILE * fp, int i);
00066 extern CLINK int Read24BitsHighLow(FILE * fp);
00067 extern CLINK int Read32Bits(FILE * fp);
00068 extern CLINK int Read32BitsHighLow(FILE * fp);
00069 extern CLINK void Write32Bits(FILE * fp, int i);
00070 extern CLINK void Write32BitsLowHigh(FILE * fp, int i);
00071 extern CLINK void Write32BitsHighLow(FILE * fp, int i);
00072 extern CLINK void ReadBytes(FILE * fp, char *p, int n);
00073 extern CLINK void ReadBytesSwapped(FILE * fp, char *p, int n);
00074 extern CLINK void WriteBytes(FILE * fp, char *p, int n);
00075 extern CLINK void WriteBytesSwapped(FILE * fp, char *p, int n);
00076 extern CLINK double ReadIeeeFloatHighLow(FILE * fp);
00077 extern CLINK double ReadIeeeFloatLowHigh(FILE * fp);
00078 extern CLINK double ReadIeeeDoubleHighLow(FILE * fp);
00079 extern CLINK double ReadIeeeDoubleLowHigh(FILE * fp);
00080 extern CLINK double ReadIeeeExtendedHighLow(FILE * fp);
00081 extern CLINK double ReadIeeeExtendedLowHigh(FILE * fp);
00082 extern CLINK void WriteIeeeFloatLowHigh(FILE * fp, double num);
00083 extern CLINK void WriteIeeeFloatHighLow(FILE * fp, double num);
00084 extern CLINK void WriteIeeeDoubleLowHigh(FILE * fp, double num);
00085 extern CLINK void WriteIeeeDoubleHighLow(FILE * fp, double num);
00086 extern CLINK void WriteIeeeExtendedLowHigh(FILE * fp, double num);
00087 extern CLINK void WriteIeeeExtendedHighLow(FILE * fp, double num);
00088
00089 #define Read32BitsLowHigh(f) Read32Bits(f)
00090 #define WriteString(f,s) fwrite(s,strlen(s),sizeof(char),f)
00091 #endif