?? group__partition.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>sd-reader: Partition table support</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.5 --><div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</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><a href="files.html"><span>Files</span></a></li> </ul> </div></div><div class="contents"><h1>Partition table support</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Support for reading partition tables and access to partitions. <p><p><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Files</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="partition_8c.html">partition.c</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Partition table implementation (license: GPLv2 or LGPLv2.1). <br></td></tr><p><tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="partition_8h.html">partition.h</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Partition table header (license: GPLv2 or LGPLv2.1). <br></td></tr><p><tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="partition__config_8h.html">partition_config.h</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Partition configuration (license: GPLv2 or LGPLv2.1). <br></td></tr><p><tr><td colspan="2"><br><h2>Modules</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition__config.html">Configuration of partition table support</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Preprocessor defines to configure the partition support. <br></td></tr><p><tr><td colspan="2"><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structpartition__struct.html">partition_struct</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Describes a partition. <a href="structpartition__struct.html#_details">More...</a><br></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gab5ffe2ef6119a6815c505e3103a2714"></a><!-- doxytag: member="partition::PARTITION_TYPE_FREE" ref="gab5ffe2ef6119a6815c505e3103a2714" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gab5ffe2ef6119a6815c505e3103a2714">PARTITION_TYPE_FREE</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition table entry is not used. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga92b6c552d2411e093204cd3ed4cffa3"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT12" ref="ga92b6c552d2411e093204cd3ed4cffa3" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#ga92b6c552d2411e093204cd3ed4cffa3">PARTITION_TYPE_FAT12</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT12 filesystem. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf7296b4a29c1f7e5c39e28372648b2cd"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT16_32MB" ref="gf7296b4a29c1f7e5c39e28372648b2cd" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gf7296b4a29c1f7e5c39e28372648b2cd">PARTITION_TYPE_FAT16_32MB</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT16 filesystem with 32MB maximum. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gceaa1bf17d4e8961726834e53ed79732"></a><!-- doxytag: member="partition::PARTITION_TYPE_EXTENDED" ref="gceaa1bf17d4e8961726834e53ed79732" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gceaa1bf17d4e8961726834e53ed79732">PARTITION_TYPE_EXTENDED</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition is an extended partition with its own partition table. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gda7e1b4d950c7a3f42f559ab99f5fe43"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT16" ref="gda7e1b4d950c7a3f42f559ab99f5fe43" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gda7e1b4d950c7a3f42f559ab99f5fe43">PARTITION_TYPE_FAT16</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT16 filesystem. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f6a6c30cc239ae13ea287ff901c95f4"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT32" ref="g2f6a6c30cc239ae13ea287ff901c95f4" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g2f6a6c30cc239ae13ea287ff901c95f4">PARTITION_TYPE_FAT32</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT32 filesystem. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2e0c8e8b4ec10f7b342c0d554b5f6d8"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT32_LBA" ref="ga2e0c8e8b4ec10f7b342c0d554b5f6d8" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#ga2e0c8e8b4ec10f7b342c0d554b5f6d8">PARTITION_TYPE_FAT32_LBA</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT32 filesystem with LBA. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g52b69fda008ca19d75304a2385cc4900"></a><!-- doxytag: member="partition::PARTITION_TYPE_FAT16_LBA" ref="g52b69fda008ca19d75304a2385cc4900" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g52b69fda008ca19d75304a2385cc4900">PARTITION_TYPE_FAT16_LBA</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition contains a FAT16 filesystem with LBA. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1c9a00e3b09b488ce7f3b2ef2904400b"></a><!-- doxytag: member="partition::PARTITION_TYPE_EXTENDED_LBA" ref="g1c9a00e3b09b488ce7f3b2ef2904400b" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g1c9a00e3b09b488ce7f3b2ef2904400b">PARTITION_TYPE_EXTENDED_LBA</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition is an extended partition with LBA. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcdc50585fe8130f0a4faee13caade86f"></a><!-- doxytag: member="partition::PARTITION_TYPE_UNKNOWN" ref="gcdc50585fe8130f0a4faee13caade86f" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gcdc50585fe8130f0a4faee13caade86f">PARTITION_TYPE_UNKNOWN</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The partition has an unknown type. <br></td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g6a2b9c5359ec033470fc25b2626e56fc">device_read_t</a> )(uint32_t offset, uint8_t *buffer, uint16_t length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer used to read from the partition. <a href="#g6a2b9c5359ec033470fc25b2626e56fc"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g0c94a44bb3d9090d3ad662a4ea772f9b">device_read_callback_t</a> )(uint8_t *buffer, uint32_t offset, void *p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer passed to a <code>device_read_interval_t</code>. <a href="#g0c94a44bb3d9090d3ad662a4ea772f9b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gebc277053a3361aaf4b67a486e24fa24">device_read_interval_t</a> )(uint32_t offset, uint8_t *buffer, uint16_t interval, uint16_t length, <a class="el" href="group__partition.html#g0c94a44bb3d9090d3ad662a4ea772f9b">device_read_callback_t</a> callback, void *p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer used to continuously read units of <code>interval</code> bytes and call a callback function. <a href="#gebc277053a3361aaf4b67a486e24fa24"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#gc6ca9cbb79b5099d610e976365ee2e8e">device_write_t</a> )(uint32_t offset, const uint8_t *buffer, uint16_t length)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer used to write to the partition. <a href="#gc6ca9cbb79b5099d610e976365ee2e8e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g089849983ec009841429eb6a1d3cb4cc">device_write_callback_t</a> )(uint8_t *buffer, uint32_t offset, void *p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer passed to a <code>device_write_interval_t</code>. <a href="#g089849983ec009841429eb6a1d3cb4cc"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g975ce8905536b4c1020eb18b5b640158">device_write_interval_t</a> )(uint32_t offset, uint8_t *buffer, uint16_t length, <a class="el" href="group__partition.html#g089849983ec009841429eb6a1d3cb4cc">device_write_callback_t</a> callback, void *p)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer used to continuously write a data stream obtained from a callback function. <a href="#g975ce8905536b4c1020eb18b5b640158"></a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structpartition__struct.html">partition_struct</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g3125023db4e9d50adb8489c71fa1be68">partition_open</a> (<a class="el" href="group__partition.html#g6a2b9c5359ec033470fc25b2626e56fc">device_read_t</a> device_read, <a class="el" href="group__partition.html#gebc277053a3361aaf4b67a486e24fa24">device_read_interval_t</a> device_read_interval, <a class="el" href="group__partition.html#gc6ca9cbb79b5099d610e976365ee2e8e">device_write_t</a> device_write, <a class="el" href="group__partition.html#g975ce8905536b4c1020eb18b5b640158">device_write_interval_t</a> device_write_interval, int8_t index)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a partition. <a href="#g3125023db4e9d50adb8489c71fa1be68"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__partition.html#g128f4363de35c81a9ff8026d4db289d2">partition_close</a> (struct <a class="el" href="structpartition__struct.html">partition_struct</a> *partition)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Closes a partition. <a href="#g128f4363de35c81a9ff8026d4db289d2"></a><br></td></tr></table><hr><h2>Typedef Documentation</h2><a class="anchor" name="g0c94a44bb3d9090d3ad662a4ea772f9b"></a><!-- doxytag: member="partition.h::device_read_callback_t" ref="g0c94a44bb3d9090d3ad662a4ea772f9b" args=")(uint8_t *buffer, uint32_t offset, void *p)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef uint8_t(* <a class="el" href="group__partition.html#g0c94a44bb3d9090d3ad662a4ea772f9b">device_read_callback_t</a>)(uint8_t *buffer, uint32_t offset, void *p) </td> </tr> </table></div><div class="memdoc"><p>A function pointer passed to a <code>device_read_interval_t</code>. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>buffer</em> </td><td>The buffer which contains the data just read. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>offset</em> </td><td>The offset from which the data in <code>buffer</code> was read. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>p</em> </td><td>An opaque pointer. </td></tr> </table></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__partition.html#gebc277053a3361aaf4b67a486e24fa24" title="A function pointer used to continuously read units of interval bytes and call a callback...">device_read_interval_t</a> </dd></dl></div></div><p><a class="anchor" name="gebc277053a3361aaf4b67a486e24fa24"></a><!-- doxytag: member="partition.h::device_read_interval_t" ref="gebc277053a3361aaf4b67a486e24fa24" args=")(uint32_t offset, uint8_t *buffer, uint16_t interval, uint16_t length, device_read_callback_t callback, void *p)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef uint8_t(* <a class="el" href="group__partition.html#gebc277053a3361aaf4b67a486e24fa24">device_read_interval_t</a>)(uint32_t offset, uint8_t *buffer, uint16_t interval, uint16_t length, <a class="el" href="group__partition.html#g0c94a44bb3d9090d3ad662a4ea772f9b">device_read_callback_t</a> callback, void *p) </td> </tr> </table></div><div class="memdoc"><p>A function pointer used to continuously read units of <code>interval</code> bytes and call a callback function. <p>This function starts reading at the specified offset. Every <code>interval</code> bytes, it calls the callback function with the associated data buffer.<p>By returning zero, the callback may stop reading.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>offset</em> </td><td>Offset from which to start reading. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>buffer</em> </td><td>Pointer to a buffer which is at least interval bytes in size. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>interval</em> </td><td>Number of bytes to read before calling the callback function. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>length</em> </td><td>Number of bytes to read altogether. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>callback</em> </td><td>The function to call every interval bytes. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>p</em> </td><td>An opaque pointer directly passed to the callback function. </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on failure, 1 on success </dd></dl><dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__partition.html#g6a2b9c5359ec033470fc25b2626e56fc" title="A function pointer used to read from the partition.">device_read_t</a> </dd></dl></div></div><p><a class="anchor" name="g6a2b9c5359ec033470fc25b2626e56fc"></a><!-- doxytag: member="partition.h::device_read_t" ref="g6a2b9c5359ec033470fc25b2626e56fc" args=")(uint32_t offset, uint8_t *buffer, uint16_t length)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef uint8_t(* <a class="el" href="group__partition.html#g6a2b9c5359ec033470fc25b2626e56fc">device_read_t</a>)(uint32_t offset, uint8_t *buffer, uint16_t length) </td> </tr> </table></div><div class="memdoc"><p>A function pointer used to read from the partition. <p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -