<!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 DDC/CI communication 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="#enum-members">Enumerations</a> | <a href="#enumval-members">Enumerator</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>X Color Management DDC/CI communication API's</h1> </div> </div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> { <br/> <a class="el" href="group__XcmDDC.html#ggae2be6d07afd07636668a4b5c2955c19aa367daf6a8f72976e1a0851fad691e589">XCM_DDC_OK</a>, <a class="el" href="group__XcmDDC.html#ggae2be6d07afd07636668a4b5c2955c19aa6f9256deca3e632da9aa093c7064d80d">XCM_DDC_NO_FILE</a>, <a class="el" href="group__XcmDDC.html#ggae2be6d07afd07636668a4b5c2955c19aa771787317fd0080abadb23e4226ca648">XCM_DDC_PREPARE_FAIL</a>, <a class="el" href="group__XcmDDC.html#ggae2be6d07afd07636668a4b5c2955c19aa1e33d7f50c318be7ebf0507b7e4cf60a">XCM_DDC_EDID_READ_FAIL</a>, <br/> <a class="el" href="group__XcmDDC.html#ggae2be6d07afd07636668a4b5c2955c19aa6b7315c5e2875224ee3b84287219cbb9">XCM_DDC_WRONG_EDID</a> <br/> }</td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmDDC.html#gab57da6ef2516e37e2b829c8f65c264b3">XcmDDClist</a> (char ***list, int *count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">obtain all monitors i2c device names <a href="#gab57da6ef2516e37e2b829c8f65c264b3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XcmDDC.html#ga0d926cd24060cdc9ba0105b4451be689">XcmDDCgetEDID</a> (const char *device_name, char **data, size_t *size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">obtain all monitors i2c device names <a href="#ga0d926cd24060cdc9ba0105b4451be689"></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__XcmDDC.html#gae679096a84e718da388c377b18e9c170">XcmDDCErrorToString</a> (<a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert enum into a meaningful text string <a href="#gae679096a84e718da388c377b18e9c170"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>The purpose of the API is to establish client side communication with a monitor device. This can be used to update EEDID data and get MCCS properties. The former is supported by this library.</p> <p><a class="el" href="group__XcmDDC.html#gab57da6ef2516e37e2b829c8f65c264b3" title="obtain all monitors i2c device names">XcmDDClist()</a> returns a list of monitor i2c device names. <a class="el" href="group__XcmDDC.html#ga0d926cd24060cdc9ba0105b4451be689" title="obtain all monitors i2c device names">XcmDDCgetEDID()</a> can be used to fetch EEDID from a device name.</p> <p>XcmDDC.h</p> <p>Xcm Xorg Colour Management</p> <p>DDC communication with monitor devices</p> <dl class="user"><dt><b>Copyright:</b></dt><dd>2010 (C) Kai-Uwe Behrmann</dd></dl> <dl class="author"><dt><b>Author:</b></dt><dd>Kai-Uwe Behrmann <<a href="mailto:ku.b@gmx.de">ku.b@gmx.de</a>> </dd></dl> <dl class="user"><dt><b>License:</b></dt><dd>MIT <<a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>> </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2010/12/28 </dd></dl> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="gae2be6d07afd07636668a4b5c2955c19a"></a><!-- doxytag: member="XcmDDC.h::XCM_DDC_ERROR_e" ref="gae2be6d07afd07636668a4b5c2955c19a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggae2be6d07afd07636668a4b5c2955c19aa367daf6a8f72976e1a0851fad691e589"></a><!-- doxytag: member="XCM_DDC_OK" ref="ggae2be6d07afd07636668a4b5c2955c19aa367daf6a8f72976e1a0851fad691e589" args="" -->XCM_DDC_OK</em> </td><td> <p>success </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae2be6d07afd07636668a4b5c2955c19aa6f9256deca3e632da9aa093c7064d80d"></a><!-- doxytag: member="XCM_DDC_NO_FILE" ref="ggae2be6d07afd07636668a4b5c2955c19aa6f9256deca3e632da9aa093c7064d80d" args="" -->XCM_DDC_NO_FILE</em> </td><td> <p>fopen failed, permissions? </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae2be6d07afd07636668a4b5c2955c19aa771787317fd0080abadb23e4226ca648"></a><!-- doxytag: member="XCM_DDC_PREPARE_FAIL" ref="ggae2be6d07afd07636668a4b5c2955c19aa771787317fd0080abadb23e4226ca648" args="" -->XCM_DDC_PREPARE_FAIL</em> </td><td> <p>setting EEDID adress failed </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae2be6d07afd07636668a4b5c2955c19aa1e33d7f50c318be7ebf0507b7e4cf60a"></a><!-- doxytag: member="XCM_DDC_EDID_READ_FAIL" ref="ggae2be6d07afd07636668a4b5c2955c19aa1e33d7f50c318be7ebf0507b7e4cf60a" args="" -->XCM_DDC_EDID_READ_FAIL</em> </td><td> <p>could not obtain EEDID </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae2be6d07afd07636668a4b5c2955c19aa6b7315c5e2875224ee3b84287219cbb9"></a><!-- doxytag: member="XCM_DDC_WRONG_EDID" ref="ggae2be6d07afd07636668a4b5c2955c19aa6b7315c5e2875224ee3b84287219cbb9" args="" -->XCM_DDC_WRONG_EDID</em> </td><td> <p>wrong EDID header </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="gae679096a84e718da388c377b18e9c170"></a><!-- doxytag: member="XcmDDC.c::XcmDDCErrorToString" ref="gae679096a84e718da388c377b18e9c170" args="(XCM_DDC_ERROR_e error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * XcmDDCErrorToString </td> <td>(</td> <td class="paramtype"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> </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 XcmDDCErrorToString </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.4.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2010/12/28 (libXcm: 0.4.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/12/28 </dd></dl> </div> </div> <a class="anchor" id="ga0d926cd24060cdc9ba0105b4451be689"></a><!-- doxytag: member="XcmDDC.c::XcmDDCgetEDID" ref="ga0d926cd24060cdc9ba0105b4451be689" args="(const char *device_name, char **data, size_t *size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> XcmDDCgetEDID </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>device_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>obtain all monitors i2c device names </p> <p>Function XcmDDCgetEDID </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>device_name</em> </td><td>system specific device name </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>data</em> </td><td>empty pointer to EDID data, will be mallocd for the user </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>size</em> </td><td>size of memory in data </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.4.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2010/12/28 (libXcm: 0.4,0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/12/28 </dd></dl> </div> </div> <a class="anchor" id="gab57da6ef2516e37e2b829c8f65c264b3"></a><!-- doxytag: member="XcmDDC.c::XcmDDClist" ref="gab57da6ef2516e37e2b829c8f65c264b3" args="(char ***list, int *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__XcmDDC.html#gae2be6d07afd07636668a4b5c2955c19a">XCM_DDC_ERROR_e</a> XcmDDClist </td> <td>(</td> <td class="paramtype">char *** </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>obtain all monitors i2c device names </p> <p>Function XcmDDClist </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>list</em> </td><td>empty pointer to a list of device names </td></tr> <tr><td valign="top"><tt>[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.4.0 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2010/12/28 (libXcm: 0.4.0) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2010/12/28 </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>