<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>sc68fordevelopers: /home/mandrake/rpm/BUILD/sc68-2.2.1/file68/file68.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <h1>/home/mandrake/rpm/BUILD/sc68-2.2.1/file68/file68.h</h1><a href="file68_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <a name="l00011"></a>00011 <span class="comment">/* Copyright (C) 1998-2003 Benjamin Gerard */</span> <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="preprocessor">#ifndef _FILE68_H_</span> <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define _FILE68_H_</span> <a name="l00015"></a>00015 <span class="preprocessor"></span> <a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="istream68_8h.html" title="generic stream operation.">file68/istream68.h</a>"</span> <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00020"></a>00020 <span class="preprocessor">#endif</span> <a name="l00021"></a>00021 <span class="preprocessor"></span> <a name="l00025"></a><a class="code" href="file68_8h.html#9275c55edb26dda9b965c096dbf70d25">00025</a> <span class="preprocessor">#define SC68_IDSTR "SC68 Music-file / (c) (BeN)jamin Gerard / SasHipA-Dev "</span> <a name="l00026"></a>00026 <span class="preprocessor"></span> <a name="l00027"></a><a class="code" href="file68_8h.html#1865c9cca37f33eeb3d01519d9877b2c">00027</a> <span class="preprocessor">#define SC68_NOFILENAME "???" </span> <a name="l00028"></a><a class="code" href="file68_8h.html#c4ca69786e425473412efd24d80421f0">00028</a> <span class="preprocessor">#define SC68_LOADADDR 0x8000 </span> <a name="l00029"></a><a class="code" href="file68_8h.html#9ac4c98e5f006e4538128331f7560155">00029</a> <span class="preprocessor">#define SC68_MAX_TRACK 99 </span> <a name="l00035"></a><a class="code" href="file68_8h.html#f251e8d03ad7234f085254b67b4b368e">00035</a> <span class="preprocessor">#define SC68_YM 1 </span> <a name="l00036"></a><a class="code" href="file68_8h.html#9cec87433fe8c4be6b8126edc97df51f">00036</a> <span class="preprocessor">#define SC68_STE 2 </span> <a name="l00037"></a><a class="code" href="file68_8h.html#8d24175edea2214e3fb4c71710b17584">00037</a> <span class="preprocessor">#define SC68_AMIGA 4 </span> <a name="l00038"></a><a class="code" href="file68_8h.html#b0a64671e79a0c659fe17cbcc50c0430">00038</a> <span class="preprocessor">#define SC68_STECHOICE 8 </span> <a name="l00043"></a><a class="code" href="structchunk68__t.html">00043</a> <span class="preprocessor">typedef struct</span> <a name="l00044"></a>00044 <span class="preprocessor"></span>{ <a name="l00045"></a><a class="code" href="structchunk68__t.html#b463a64b48e763e3a0ec8f3fed58476a">00045</a> <span class="keywordtype">char</span> <span class="keywordtype">id</span>[4]; <a name="l00046"></a><a class="code" href="structchunk68__t.html#34793037e4a94dc05d9c043afbb1d44d">00046</a> <span class="keywordtype">char</span> size[4]; <a name="l00047"></a>00047 } <a class="code" href="structchunk68__t.html" title="SC68 file chunk header.">chunk68_t</a>; <a name="l00048"></a>00048 <a name="l00049"></a>00049 <a name="l00054"></a><a class="code" href="file68_8h.html#a608cfb2bb0e194131791f9f85dad66b">00054</a> <span class="preprocessor">#define CH68_CHUNK "SC" </span> <a name="l00056"></a><a class="code" href="file68_8h.html#2ee0c4215be8f9c8cf8c439dda386a08">00056</a> <span class="preprocessor">#define CH68_BASE "68" </span> <a name="l00057"></a><a class="code" href="file68_8h.html#c9fb697dfeeef4262bf80a4744456855">00057</a> <span class="preprocessor">#define CH68_FNAME "FN" </span> <a name="l00058"></a><a class="code" href="file68_8h.html#41f86e0d0832ee54a86d0582c329fb46">00058</a> <span class="preprocessor">#define CH68_DEFAULT "DF" </span> <a name="l00060"></a><a class="code" href="file68_8h.html#fdb60ee75628db805d6edf311f5532cc">00060</a> <span class="preprocessor">#define CH68_MUSIC "MU" </span> <a name="l00061"></a><a class="code" href="file68_8h.html#55d0bd468872a882c0ce5bbe10ed338e">00061</a> <span class="preprocessor">#define CH68_MNAME "MN" </span> <a name="l00062"></a><a class="code" href="file68_8h.html#3dc4eef8baf82bca0de5b3455fb75853">00062</a> <span class="preprocessor">#define CH68_ANAME "AN" </span> <a name="l00063"></a><a class="code" href="file68_8h.html#a012be8bb4e9223845663f6e2f6e0198">00063</a> <span class="preprocessor">#define CH68_CNAME "CN" </span> <a name="l00064"></a><a class="code" href="file68_8h.html#79d816e22c702a48e5c6d3335bddf01d">00064</a> <span class="preprocessor">#define CH68_D0 "D0" </span> <a name="l00065"></a><a class="code" href="file68_8h.html#1f669ff02c7a04ccfcfa7ef9ce6e9fc5">00065</a> <span class="preprocessor">#define CH68_AT "AT" </span> <a name="l00066"></a><a class="code" href="file68_8h.html#a19ae6f2bdc92a89bf8b2e61a3ea21ad">00066</a> <span class="preprocessor">#define CH68_TIME "TI" </span> <a name="l00067"></a><a class="code" href="file68_8h.html#15aa76ab6947234d8a0f34d1bbbb4804">00067</a> <span class="preprocessor">#define CH68_FRAME "FR" </span> <a name="l00068"></a><a class="code" href="file68_8h.html#b253db042a68f03eaf531de13efbf08a">00068</a> <span class="preprocessor">#define CH68_FRQ "FQ" </span> <a name="l00070"></a><a class="code" href="file68_8h.html#e7fe57b01ccf3ff2906ae6fa51087802">00070</a> <span class="preprocessor">#define CH68_TYP "TY" </span> <a name="l00071"></a><a class="code" href="file68_8h.html#c6753957b64753fa7fced94c1913282a">00071</a> <span class="preprocessor">#define CH68_IMG "IM" </span> <a name="l00072"></a><a class="code" href="file68_8h.html#65bc2150e7df5941c9a1b1208e8d7347">00072</a> <span class="preprocessor">#define CH68_REPLAY "RE" </span> <a name="l00074"></a><a class="code" href="file68_8h.html#d3b90bde51aae7ede31fdce4bcc67d2b">00074</a> <span class="preprocessor">#define CH68_MDATA "DA" </span> <a name="l00076"></a><a class="code" href="file68_8h.html#dd7ddc11899f553d0ffbfa3799c11960">00076</a> <span class="preprocessor">#define CH68_EOF "EF" </span> <a name="l00082"></a><a class="code" href="structmusic68__t.html">00082</a> <span class="preprocessor">typedef struct</span> <a name="l00083"></a>00083 <span class="preprocessor"></span>{ <a name="l00084"></a>00084 <a name="l00088"></a><a class="code" href="structmusic68__t.html#3d8f9498e7e72706a47ac7d48d7639a3">00088</a> <span class="keywordtype">unsigned</span> d0; <a name="l00089"></a><a class="code" href="structmusic68__t.html#75ce6223b4df8e7fc2c0b8eb4dac3c36">00089</a> <span class="keywordtype">unsigned</span> a0; <a name="l00090"></a><a class="code" href="structmusic68__t.html#895ffd21cd87534f004d17d75ed44be8">00090</a> <span class="keywordtype">unsigned</span> frq; <a name="l00091"></a><a class="code" href="structmusic68__t.html#0c678ebcf8996c3072827408d0a3add9">00091</a> <span class="keywordtype">unsigned</span> start_ms; <a name="l00092"></a><a class="code" href="structmusic68__t.html#4e3deb32e1f935e373b6196d5f81f807">00092</a> <span class="keywordtype">unsigned</span> time_ms; <a name="l00093"></a><a class="code" href="structmusic68__t.html#f04e30490d72cdfc080d1c7a694c75a9">00093</a> <span class="keywordtype">unsigned</span> frames; <a name="l00096"></a>00096 <span class="keyword">struct </span>{ <a name="l00097"></a><a class="code" href="structmusic68__t.html#ebb2fb87fddc0199572754c977483125">00097</a> <span class="keywordtype">unsigned</span> <a class="code" href="ymemul_8h.html#01437bbd37572e09fddf4dba71510828" title="YM-2149 emulator internal data.">ym</a>:1; <a name="l00098"></a><a class="code" href="structmusic68__t.html#0a5fd4e7578e09217c3b9ffccd552743">00098</a> <span class="keywordtype">unsigned</span> ste:1; <a name="l00099"></a><a class="code" href="structmusic68__t.html#65fa90c6da405e789356316d6467cffc">00099</a> <span class="keywordtype">unsigned</span> amiga:1; <a name="l00100"></a><a class="code" href="structmusic68__t.html#4ce34ae7762de835231200d6ae44e967">00100</a> <span class="keywordtype">unsigned</span> stechoice:1; <a name="l00101"></a>00101 } flags; <a name="l00107"></a><a class="code" href="structmusic68__t.html#1147283733f9b68d71607fb712ad4d3b">00107</a> <span class="keywordtype">char</span> * name; <a name="l00108"></a><a class="code" href="structmusic68__t.html#eb7480878e37497139a8ccf91672c407">00108</a> <span class="keywordtype">char</span> * author; <a name="l00109"></a><a class="code" href="structmusic68__t.html#7b34ee4989a89127c34b8654a7c6b448">00109</a> <span class="keywordtype">char</span> * composer; <a name="l00110"></a><a class="code" href="structmusic68__t.html#bcf9f2e120335973d411c7a634a28d39">00110</a> <span class="keywordtype">char</span> * replay; <a name="l00116"></a><a class="code" href="structmusic68__t.html#4d4505e14e1de6076c5a6337b72b7866">00116</a> <span class="keywordtype">unsigned</span> datasz; <a name="l00117"></a><a class="code" href="structmusic68__t.html#ea75c9bd27770ac76e2beebc88e7e882">00117</a> <span class="keywordtype">char</span> *data; <a name="l00120"></a>00120 } <a class="code" href="structmusic68__t.html" title="SC68 music (track) structure.">music68_t</a>; <a name="l00121"></a>00121 <a name="l00122"></a>00122 <a name="l00133"></a><a class="code" href="structdisk68__t.html">00133</a> <span class="keyword">typedef</span> <span class="keyword">struct</span> <a name="l00134"></a>00134 { <a name="l00138"></a><a class="code" href="structdisk68__t.html#b1b8dd1fa5d946bd4a6e7cda88b52383">00138</a> <span class="keywordtype">int</span> default_six; <a name="l00139"></a><a class="code" href="structdisk68__t.html#aaaa4cbb362dfd96127783da261ea591">00139</a> <span class="keywordtype">int</span> nb_six; <a name="l00140"></a><a class="code" href="structdisk68__t.html#2a88e6e3ae2b473346a8156b5aea3f04">00140</a> <span class="keywordtype">unsigned</span> time_ms; <a name="l00141"></a><a class="code" href="structdisk68__t.html#9cfed424fdaa541cc87bd367e379b73c">00141</a> <span class="keywordtype">int</span> flags; <a name="l00142"></a><a class="code" href="structdisk68__t.html#b192605e9c6974f4360c9ff4eca707e7">00142</a> <span class="keywordtype">char</span> *name; <a name="l00148"></a><a class="code" href="structdisk68__t.html#af670b3e94bbb975d7a90421b170610c">00148</a> <a class="code" href="structmusic68__t.html" title="SC68 music (track) structure.">music68_t</a> mus[<a class="code" href="file68_8h.html#9ac4c98e5f006e4538128331f7560155" title="Maximum track per disk (display rules).">SC68_MAX_TRACK</a>]; <a name="l00149"></a><a class="code" href="structdisk68__t.html#ecd8c39b6f1c752eccdceee7ae16e944">00149</a> <span class="keywordtype">char</span> data[1]; <a name="l00152"></a>00152 } <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a>; <a name="l00153"></a>00153 <a name="l00158"></a>00158 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="file68_8h.html#5a75abcc156a7c0f62c2691dc19f6b44" title="SC68 file identifier string.">SC68file_idstr</a>[]; <a name="l00159"></a>00159 <a name="l00160"></a>00160 <a name="l00181"></a>00181 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#b0564fee551b4fa33397407d95f29677" title="Verify SC68 file from stream.">SC68file_verify</a>(<a class="code" href="struct__istream__t.html" title="Input stream structure.">istream_t</a> * is); <a name="l00182"></a>00182 <a name="l00187"></a>00187 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#6d13f2f80225a674bbf1562e17428e9c" title="Verify SC68 file.">SC68file_verify_file</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * fname); <a name="l00188"></a>00188 <a name="l00194"></a>00194 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#90034714503beea2b860f9dd75b35288" title="Verify SC68 file mapped into memory buffer.">SC68file_verify_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> * buffer, <span class="keywordtype">int</span> len); <a name="l00195"></a>00195 <a name="l00216"></a>00216 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8" title="Get SC68 disk name.">SC68file_diskname</a>(<a class="code" href="struct__istream__t.html" title="Input stream structure.">istream_t</a> * is, <span class="keywordtype">char</span> * dest, <span class="keywordtype">int</span> max); <a name="l00217"></a>00217 <a name="l00241"></a>00241 <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * <a class="code" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0" title="Load SC68 file from stream.">SC68file_load</a>(<a class="code" href="struct__istream__t.html" title="Input stream structure.">istream_t</a> * is); <a name="l00242"></a>00242 <a name="l00247"></a>00247 <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * <a class="code" href="file68_8h.html#061972f037e80f24ac43632707dd1caf" title="Load SC68 file.">SC68file_load_file</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * fname); <a name="l00248"></a>00248 <a name="l00254"></a>00254 <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * <a class="code" href="file68_8h.html#61e1caec419958240a2db8cdd4edddc8" title="Load SC68 file mapped into memory buffer.">SC68file_load_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> * buffer, <span class="keywordtype">int</span> len); <a name="l00255"></a>00255 <a name="l00276"></a>00276 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#f81a618d22cd359f63738acbac2f3b5f" title="Save SC68 disk into stream.">SC68file_save</a>(<a class="code" href="struct__istream__t.html" title="Input stream structure.">istream_t</a> * os, <span class="keyword">const</span> <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * mb); <a name="l00277"></a>00277 <a name="l00283"></a>00283 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#e1d8cdca013802111dac74a2095bdc9a" title="Save SC68 disk into file.">SC68file_save_file</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * fname, <span class="keyword">const</span> <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * mb); <a name="l00284"></a>00284 <a name="l00291"></a>00291 <span class="keywordtype">int</span> <a class="code" href="file68_8h.html#2bc71724996f6d6bf53e8fc7204611ef" title="Save SC68 disk into memory buffer.">SC68file_save_mem</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * buffer, <span class="keywordtype">int</span> len, <span class="keyword">const</span> <a class="code" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> * mb); <a name="l00292"></a>00292 <a name="l00295"></a>00295 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00296"></a>00296 <span class="preprocessor"></span>} <a name="l00297"></a>00297 <span class="preprocessor">#endif</span> <a name="l00298"></a>00298 <span class="preprocessor"></span> <a name="l00299"></a>00299 <span class="preprocessor">#endif </span><span class="comment">/* #ifndef _FILE68_H_ */</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 15 03:58:04 2009 for sc68fordevelopers by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>