<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Xcm: X Color Management EDID data block parsing API's</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.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <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> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>X Color Management EDID data block parsing API's</h1> </div> </div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gae4147a8a9f054d23f3017de9c496e513">XCM_EDID_KEY_VENDOR</a> "vendor"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga3bf6ef825d2140bba22fa1ecc899ab0f">XCM_EDID_KEY_MODEL</a> "model"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga59cd0a05a0467364bb4ed77b80b66e1b">XCM_EDID_KEY_SERIAL</a> "serial"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga743ab9b3f21632ae809cfa7276132757">XCM_EDID_KEY_REDx</a> "redx"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga68d179c170df54cdaec76dd62d004083">XCM_EDID_KEY_REDy</a> "redy"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gaa54465882038054e737526aaee46cd75">XCM_EDID_KEY_GREENx</a> "greenx"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gac5219f8594b4dde6efe59003bb1266b7">XCM_EDID_KEY_GREENy</a> "greeny"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga3647ee99f7335b27e2eac06afe67e888">XCM_EDID_KEY_BLUEx</a> "bluex"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gad5305b2a2dd6cc95d87e0d9875dc2ab2">XCM_EDID_KEY_BLUEy</a> "bluey"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gabe4999df5d971abffaedea473d057928">XCM_EDID_KEY_WHITEy</a> "whitex"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga1f19412cd2aa3f100121dcf1b0b40da5">XCM_EDID_KEY_WHITEx</a> "whitey"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga177b688c134a972cdde8a5a6f722ddb6">XCM_EDID_KEY_GAMMA</a> "gamma"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gaf98f17e6968fffcebc3bade1b2dc39c5">XCM_EDID_KEY_WEEK</a> "week"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga1fb0b2a15dc1480dc45375d409232895">XCM_EDID_KEY_YEAR</a> "year"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gab8d81e2c3883949d999d44d733eb68a3">XCM_EDID_KEY_MNFT_ID</a> "mnft_id"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga1cfc4aaa7377e679c723b9622c47d5c6">XCM_EDID_KEY_MODEL_ID</a> "model_id"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga98578d67afd00bfcbe6bd8b3aa2e3d81">XCM_EDID_KEY_MNFT</a> "mnft"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gaaef2b21dcabadee4089b082960c68001">XCM_EDID_KEY_MANUFACTURER</a> "manufacturer"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga79fe072cfa79e3b3f574183209da8b7b">XCM_EDID_KEY_A3RED</a> "a3red"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gaeb17166282e83295cc5f6156138b9441">XCM_EDID_KEY_A2RED</a> "a2red"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gae6387b46e8807739cd8ee9f5b71f6288">XCM_EDID_KEY_A3GREEN</a> "a3green"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga56a557aaa8b198942c9212375562a69d">XCM_EDID_KEY_A2GREEN</a> "a2green"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga2d2d2190e9b2613ce0f8ff1ceadf1b97">XCM_EDID_KEY_A3BLUE</a> "a3blue"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga4e98970069956e04063c36ae04d2e255">XCM_EDID_KEY_A2BLUE</a> "a2blue"</td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">XCM_EDID_ERROR_e </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gaa1488ad2d6f3cd5861b88a6ba0899157">XcmEdidParse</a> (void *edid, XcmEdidKeyValue_s **list, int *count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">EDID to key/value pair transformation. <a href="#gaa1488ad2d6f3cd5861b88a6ba0899157"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">XCM_EDID_ERROR_e </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga39326748d50f015d2333b683a7cfdc87">XcmEdidFree</a> (XcmEdidKeyValue_s **list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">free library allocated list <a href="#ga39326748d50f015d2333b683a7cfdc87"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#gadc4597f688022e26b87d7b502e642019">XcmEdidErrorToString</a> (XCM_EDID_ERROR_e error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert enum into a meaningful text string <a href="#gadc4597f688022e26b87d7b502e642019"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">XCM_EDID_ERROR_e </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmEdidParse.html#ga83c89b007cebb168df0c69fbfec837cf">XcmEdidPrintString</a> (void *edid, char **text, void *(*alloc)(size_t sz))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert a EDID block into text <a href="#ga83c89b007cebb168df0c69fbfec837cf"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>The purpouse of this API is to obtain basic and displayable device identification strings and colorimetric informations contained in the EDID data block sent by monitors.</p> <p>The user has to pass in a valid EDID block. This can be obtained per a root window X atom or a XRandR output property and is not part of this API. The data block is passed to <a class="el" href="group__XcmEdidParse.html#gaa1488ad2d6f3cd5861b88a6ba0899157" title="EDID to key/value pair transformation.">XcmEdidParse()</a>. This function generates a list of key value pairs, with some first rough interpretation. The key/values are useable for data bases, ICC profile generation or device identification. The returned XcmEdidKeyValue_s list elements can be individually read and worked with. Please look as well on the <a class="el" href="group__XcmEdidParse.html#ga83c89b007cebb168df0c69fbfec837cf" title="convert a EDID block into text">XcmEdidPrintString()</a> function and examples/edid-parse/ as a small example on how to use the API. <a class="el" href="group__XcmEdidParse.html#ga39326748d50f015d2333b683a7cfdc87" title="free library allocated list">XcmEdidFree()</a> releases allocated list memory. </p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="ga4e98970069956e04063c36ae04d2e255"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A2BLUE" ref="ga4e98970069956e04063c36ae04d2e255" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A2BLUE "a2blue"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for blue component, double </p> </div> </div> <a class="anchor" id="ga56a557aaa8b198942c9212375562a69d"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A2GREEN" ref="ga56a557aaa8b198942c9212375562a69d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A2GREEN "a2green"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for green component, double </p> </div> </div> <a class="anchor" id="gaeb17166282e83295cc5f6156138b9441"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A2RED" ref="gaeb17166282e83295cc5f6156138b9441" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A2RED "a2red"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for red component, double </p> </div> </div> <a class="anchor" id="ga2d2d2190e9b2613ce0f8ff1ceadf1b97"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A3BLUE" ref="ga2d2d2190e9b2613ce0f8ff1ceadf1b97" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A3BLUE "a3blue"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for blue component, double </p> </div> </div> <a class="anchor" id="gae6387b46e8807739cd8ee9f5b71f6288"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A3GREEN" ref="gae6387b46e8807739cd8ee9f5b71f6288" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A3GREEN "a3green"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for green component, double </p> </div> </div> <a class="anchor" id="ga79fe072cfa79e3b3f574183209da8b7b"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_A3RED" ref="ga79fe072cfa79e3b3f574183209da8b7b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_A3RED "a3red"</td> </tr> </table> </div> <div class="memdoc"> <p>transfer value for red component, double </p> </div> </div> <a class="anchor" id="ga3647ee99f7335b27e2eac06afe67e888"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_BLUEx" ref="ga3647ee99f7335b27e2eac06afe67e888" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_BLUEx "bluex"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary blue CIE*xyY x component, double </p> </div> </div> <a class="anchor" id="gad5305b2a2dd6cc95d87e0d9875dc2ab2"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_BLUEy" ref="gad5305b2a2dd6cc95d87e0d9875dc2ab2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_BLUEy "bluey"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary blue CIE*xyY y component, double </p> </div> </div> <a class="anchor" id="ga177b688c134a972cdde8a5a6f722ddb6"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_GAMMA" ref="ga177b688c134a972cdde8a5a6f722ddb6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_GAMMA "gamma"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric single gamma for all channels, double </p> </div> </div> <a class="anchor" id="gaa54465882038054e737526aaee46cd75"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_GREENx" ref="gaa54465882038054e737526aaee46cd75" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_GREENx "greenx"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary green CIE*xyY x component, double </p> </div> </div> <a class="anchor" id="gac5219f8594b4dde6efe59003bb1266b7"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_GREENy" ref="gac5219f8594b4dde6efe59003bb1266b7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_GREENy "greeny"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary green CIE*xyY y component, double </p> </div> </div> <a class="anchor" id="gaaef2b21dcabadee4089b082960c68001"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_MANUFACTURER" ref="gaaef2b21dcabadee4089b082960c68001" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_MANUFACTURER "manufacturer"</td> </tr> </table> </div> <div class="memdoc"> <p>full length manufacturer, string </p> </div> </div> <a class="anchor" id="ga98578d67afd00bfcbe6bd8b3aa2e3d81"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_MNFT" ref="ga98578d67afd00bfcbe6bd8b3aa2e3d81" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_MNFT "mnft"</td> </tr> </table> </div> <div class="memdoc"> <p>manufacturer ID, string </p> </div> </div> <a class="anchor" id="gab8d81e2c3883949d999d44d733eb68a3"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_MNFT_ID" ref="gab8d81e2c3883949d999d44d733eb68a3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_MNFT_ID "mnft_id"</td> </tr> </table> </div> <div class="memdoc"> <p>manufacturer ID, integer </p> </div> </div> <a class="anchor" id="ga3bf6ef825d2140bba22fa1ecc899ab0f"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_MODEL" ref="ga3bf6ef825d2140bba22fa1ecc899ab0f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_MODEL "model"</td> </tr> </table> </div> <div class="memdoc"> <p>full length device model, string </p> </div> </div> <a class="anchor" id="ga1cfc4aaa7377e679c723b9622c47d5c6"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_MODEL_ID" ref="ga1cfc4aaa7377e679c723b9622c47d5c6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_MODEL_ID "model_id"</td> </tr> </table> </div> <div class="memdoc"> <p>model ID, integer </p> </div> </div> <a class="anchor" id="ga743ab9b3f21632ae809cfa7276132757"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_REDx" ref="ga743ab9b3f21632ae809cfa7276132757" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_REDx "redx"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary red CIE*xyY x component, double </p> </div> </div> <a class="anchor" id="ga68d179c170df54cdaec76dd62d004083"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_REDy" ref="ga68d179c170df54cdaec76dd62d004083" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_REDy "redy"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary red CIE*xyY y component, double </p> </div> </div> <a class="anchor" id="ga59cd0a05a0467364bb4ed77b80b66e1b"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_SERIAL" ref="ga59cd0a05a0467364bb4ed77b80b66e1b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_SERIAL "serial"</td> </tr> </table> </div> <div class="memdoc"> <p>full length device serial number, string </p> </div> </div> <a class="anchor" id="gae4147a8a9f054d23f3017de9c496e513"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_VENDOR" ref="gae4147a8a9f054d23f3017de9c496e513" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_VENDOR "vendor"</td> </tr> </table> </div> <div class="memdoc"> <p>full length vendor, string </p> </div> </div> <a class="anchor" id="gaf98f17e6968fffcebc3bade1b2dc39c5"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_WEEK" ref="gaf98f17e6968fffcebc3bade1b2dc39c5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_WEEK "week"</td> </tr> </table> </div> <div class="memdoc"> <p>manufactur week, integer </p> </div> </div> <a class="anchor" id="ga1f19412cd2aa3f100121dcf1b0b40da5"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_WHITEx" ref="ga1f19412cd2aa3f100121dcf1b0b40da5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_WHITEx "whitey"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary white CIE*xyY y component, double </p> </div> </div> <a class="anchor" id="gabe4999df5d971abffaedea473d057928"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_WHITEy" ref="gabe4999df5d971abffaedea473d057928" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_WHITEy "whitex"</td> </tr> </table> </div> <div class="memdoc"> <p>colorimetric primary white CIE*xyY x component, double </p> </div> </div> <a class="anchor" id="ga1fb0b2a15dc1480dc45375d409232895"></a><!-- doxytag: member="XcmEdidParse.h::XCM_EDID_KEY_YEAR" ref="ga1fb0b2a15dc1480dc45375d409232895" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define XCM_EDID_KEY_YEAR "year"</td> </tr> </table> </div> <div class="memdoc"> <p>manufactur year, integer </p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="gadc4597f688022e26b87d7b502e642019"></a><!-- doxytag: member="XcmEdidParse.c::XcmEdidErrorToString" ref="gadc4597f688022e26b87d7b502e642019" args="(XCM_EDID_ERROR_e error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* XcmEdidErrorToString </td> <td>(</td> <td class="paramtype">XCM_EDID_ERROR_e </td> <td class="paramname"> <em>error</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>convert enum into a meaningful text string </p> <p>Function XcmEdidErrorToString </p> <dl><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>error</em> </td><td>the error </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>library owned error text string</dd></dl> <dl class="version"><dt><b>Version:</b></dt><dd>libXcm: 0.3.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2009/12/12 (libXcm: 0.3.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/10/01 </dd></dl> </div> </div> <a class="anchor" id="ga39326748d50f015d2333b683a7cfdc87"></a><!-- doxytag: member="XcmEdidParse.c::XcmEdidFree" ref="ga39326748d50f015d2333b683a7cfdc87" args="(XcmEdidKeyValue_s **list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">XCM_EDID_ERROR_e XcmEdidFree </td> <td>(</td> <td class="paramtype">XcmEdidKeyValue_s ** </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>free library allocated list </p> <p>Function XcmEdidFree </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>list</em> </td><td>the key/value data structures </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>error code</dd></dl> <dl class="version"><dt><b>Version:</b></dt><dd>libXcm: 0.3.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2009/12/12 (libXcm: 0.3.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/10/01 </dd></dl> </div> </div> <a class="anchor" id="gaa1488ad2d6f3cd5861b88a6ba0899157"></a><!-- doxytag: member="XcmEdidParse.c::XcmEdidParse" ref="gaa1488ad2d6f3cd5861b88a6ba0899157" args="(void *edid, XcmEdidKeyValue_s **list, int *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">XCM_EDID_ERROR_e XcmEdidParse </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>edid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">XcmEdidKeyValue_s ** </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>count</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>EDID to key/value pair transformation. </p> <p>Function XcmEdidParse The function performs no verification of the data block other than the first eight byte block signature.</p> <dl><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>edid</em> </td><td>EDID data block 128 or 256 bytes long </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>list</em> </td><td>the key/value data structures </td></tr> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>count</em> </td><td>pass in a pointer to a int. gives the number of elements in list </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>error code</dd></dl> <dl class="version"><dt><b>Version:</b></dt><dd>libXcm: 0.3.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2009/12/12 (libXcm: 0.3.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/10/01 </dd></dl> </div> </div> <a class="anchor" id="ga83c89b007cebb168df0c69fbfec837cf"></a><!-- doxytag: member="XcmEdidParse.c::XcmEdidPrintString" ref="ga83c89b007cebb168df0c69fbfec837cf" args="(void *edid, char **text, void *(*alloc)(size_t sz))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">XCM_EDID_ERROR_e XcmEdidPrintString </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>edid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"> <em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void *(*)(size_t sz) </td> <td class="paramname"> <em>alloc</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>convert a EDID block into text </p> <p>Function XcmEdidPrintString </p> <dl><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>error</em> </td><td>the EDID data block </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>text</em> </td><td>the resulting text string </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>alloc</em> </td><td>a user provided function to allocate text </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>error code</dd></dl> <dl class="version"><dt><b>Version:</b></dt><dd>libXcm: 0.3.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2009/12/12 (libXcm: 0.3.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/10/01 </dd></dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Fri Jan 7 2011 for Xcm by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>