<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/> <meta name="keywords" content="Oyranos,Colour Management,Color Management,ICC,CMS,C,doxygen,API,documentation"/> <meta name="description" content="C source code API documentation for the Oyranos project."/> <title>Oyranos: oyranos.c File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <table class="title"> <tr> <td class='logo' rowspan="2"><a href='http://www.oyranos.org'><img src='oyranos_logo.png' alt="Oyranos Icon linux/BSD/Unix/osX" border="0"/></a></td> <td>Oyranos Colour Management System API</td> </tr> </table> <!-- Generated by Doxygen 1.7.3 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <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="namespaces.html"><span>Namespaces</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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>oyranos.c File Reference</h1> </div> </div> <div class="contents"> <p>The API implementation. <a href="#_details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="oyranos_8h.html">oyranos.h</a>"</code><br/> <code>#include <sys/stat.h></code><br/> <code>#include <stdarg.h></code><br/> <code>#include <stdlib.h></code><br/> <code>#include <stdio.h></code><br/> <code>#include <string.h></code><br/> <code>#include "config.h"</code><br/> <code>#include "oyranos_check.h"</code><br/> <code>#include "oyranos_cmms.h"</code><br/> <code>#include "oyranos_debug.h"</code><br/> <code>#include "oyranos_elektra.h"</code><br/> <code>#include "oyranos_helper.h"</code><br/> <code>#include "oyranos_internal.h"</code><br/> <code>#include "oyranos_io.h"</code><br/> <code>#include "oyranos_sentinel.h"</code><br/> <code>#include "oyranos_string.h"</code><br/> <code>#include "oyranos_texts.h"</code><br/> <code>#include "oyranos_xml.h"</code><br/> <code>#include "config.log.h"</code><br/> </div><table class="memberdecls"> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="oyranos_8c.html#a0c43347740a5eded682758ed293b778a">oyMessageFunc_</a> (int code, const oyStruct_s *context, const char *format,...)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="oyranos_8c.html#ac7aef0722b779244e8676da5bfdf7a14">oyMessageFuncSet</a> (oyMessage_f message_func)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="oyranos_8h.html#a4cb3266ede5fecfe212ed8ec47d4641f">oyWIDGET_e</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga3786b67fac8d70932b4d757abc0f129c">oyWidgetListGet</a> (<a class="el" href="oyranos_8h.html#af7f2614524f0ceabc63becaf6aecbac4">oyGROUP_e</a> group, int *count, oyAlloc_f allocate_func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">all widgets of a group <a href="group__options.html#ga3786b67fac8d70932b4d757abc0f129c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="oyranos_8h.html#ac8b3351933942bb379635f91b2efbb13">oyWIDGET_TYPE_e</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga55779dc45a911f31fd0b7a4b79f8a3e3">oyWidgetTitleGet</a> (<a class="el" href="oyranos_8h.html#a4cb3266ede5fecfe212ed8ec47d4641f">oyWIDGET_e</a> option, const <a class="el" href="oyranos_8h.html#af7f2614524f0ceabc63becaf6aecbac4">oyGROUP_e</a> **categories, const char **name, const char **tooltip, int *flags)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a special Options UI strings. <a href="group__options.html#ga55779dc45a911f31fd0b7a4b79f8a3e3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga3f7eb903931b5340537104a6af86c68d">oyOptionChoicesGet</a> (<a class="el" href="oyranos_8h.html#a4cb3266ede5fecfe212ed8ec47d4641f">oyWIDGET_e</a> option, int *choices, const char ***choices_string_list, int *current)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a Options choices UI strings. <a href="group__options.html#ga3f7eb903931b5340537104a6af86c68d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga8f68d8a960e3b584e9fc28c20668981a">oyOptionChoicesFree</a> (<a class="el" href="oyranos_8h.html#a4cb3266ede5fecfe212ed8ec47d4641f">oyWIDGET_e</a> option, char ***list, int size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">delete list of choices from a option <a href="group__options.html#ga8f68d8a960e3b584e9fc28c20668981a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__behaviour.html#ga8637feeccaebeaf2d9934293fb0ab88e">oySetBehaviour</a> (<a class="el" href="oyranos_8h.html#a3aed29be5e9107d32792162cc2007685">oyBEHAVIOUR_e</a> type, int choice)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__behaviour.html#ga2c3e83b260ec9774a389fb140274d935">oyGetBehaviour</a> (<a class="el" href="oyranos_8h.html#a3aed29be5e9107d32792162cc2007685">oyBEHAVIOUR_e</a> type)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__policy.html#ga2926fcd397ff531f69ddff90fcba5d52">oyPolicySaveActual</a> (<a class="el" href="oyranos_8h.html#af7f2614524f0ceabc63becaf6aecbac4">oyGROUP_e</a> group, const char *name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">save a options group to a file <a href="group__policy.html#ga2926fcd397ff531f69ddff90fcba5d52"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__policy.html#ga024b293973ca155e803a1297e73a6dbf">oyPolicyToXML</a> (<a class="el" href="oyranos_8h.html#af7f2614524f0ceabc63becaf6aecbac4">oyGROUP_e</a> group, int add_header, oyAlloc_f allocate_func)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__policy.html#gac4c5da8937c92798540e7b242e5f17a0">oyReadXMLPolicy</a> (<a class="el" href="oyranos_8h.html#af7f2614524f0ceabc63becaf6aecbac4">oyGROUP_e</a> group, const char *xml)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__policy.html#ga42609942854ace5dfea12ae9c7bd96b3">oyPolicyFileNameGet</a> (const char *policy_name, char **full_name, oyAlloc_f allocateFunc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">resolve the file name of a policy <a href="group__policy.html#ga42609942854ace5dfea12ae9c7bd96b3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__policy.html#gafb2f2c9ca9ae47e0afedf706aee8880d">oyPolicySet</a> (const char *policy_file, const char *full_name)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__default__profiles.html#gabbb9aa5aff6411d0190563aacd7ceb16">oySetDefaultProfile</a> (<a class="el" href="oyranos_8h.html#aab99ac2c96ef712033e41af8f5bf96dd">oyPROFILE_e</a> type, const char *file_name)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__default__profiles.html#ga241f4c49fcaf91ed8760b3b5067249d2">oySetDefaultProfileBlock</a> (<a class="el" href="oyranos_8h.html#aab99ac2c96ef712033e41af8f5bf96dd">oyPROFILE_e</a> type, const char *file_name, void *mem, size_t size)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__default__profiles.html#ga8444c59b9dc94c6ce19f60c986d8d7c9">oyGetDefaultProfileName</a> (<a class="el" href="oyranos_8h.html#aab99ac2c96ef712033e41af8f5bf96dd">oyPROFILE_e</a> type, oyAlloc_f allocate_func)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__lists.html#gaa31ce9e599bef44855feb116031d9595">oyProfileListGet</a> (const char *coloursig, uint32_t *size, oyAlloc_f allocateFunc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get a list of profile filenames <a href="group__profile__lists.html#gaa31ce9e599bef44855feb116031d9595"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__handling.html#ga30360a3b1ecd4a07c1a801630469d768">oyCheckProfile</a> (const char *filename, const char *coloursig)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">check an file if it is a profile <a href="group__profile__handling.html#ga30360a3b1ecd4a07c1a801630469d768"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__handling.html#ga71b397be3ed38a93392b63f6d70dea1d">oyCheckProfileMem</a> (const void *mem, size_t size, const char *coloursig)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">check an memory block if it is a profile <a href="group__profile__handling.html#ga71b397be3ed38a93392b63f6d70dea1d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__handling.html#gae542e531f5307c41ac11c8199909b172">oyGetProfileSize</a> (const char *profilename)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get the profiles size <a href="group__profile__handling.html#gae542e531f5307c41ac11c8199909b172"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__handling.html#ga25842800e33454edb1883647985a6918">oyGetProfileBlock</a> (const char *profilename, size_t *size, oyAlloc_f allocate_func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">obtain an memory block in the responsibility of the user <a href="group__profile__handling.html#ga25842800e33454edb1883647985a6918"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__profile__handling.html#ga30388f2196b7900fbf8102e701d00386">oyGetPathFromProfileName</a> (const char *profile_name, oyAlloc_f allocate_func)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="oyranos_8c.html#a01f5ac0ece5c4172bd0a1a4f167735d1">oyGetDeviceProfile</a> (oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3, oyAlloc_f allocate_func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ask for a profile name by specifying device attributes <a href="#a01f5ac0ece5c4172bd0a1a4f167735d1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="oyranos_8c.html#aafcbf284ded0bb31b5695ff6c38d8550">oySetDeviceProfile</a> (oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3, const char *profileName, const void *mem, size_t size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set a profile name with specifying device attributes <a href="#aafcbf284ded0bb31b5695ff6c38d8550"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="oyranos_8c.html#af1937771af44a29c64f201ff29caa745">oyEraseDeviceProfile</a> (oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">remove or deinstall the profile from the current path <a href="#af1937771af44a29c64f201ff29caa745"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gac3d4229b7e810e293f6e4e6a30088e7e">oyI18NSet</a> (int active, int reserved)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">switch internationalisation of strings on or off <a href="group__misc.html#gac3d4229b7e810e293f6e4e6a30088e7e"></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__misc.html#gad2af644dc8be86850f583f7fac690d33">oyLanguage</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get language code <a href="group__misc.html#gad2af644dc8be86850f583f7fac690d33"></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__misc.html#ga4bf64b395d27a8e6f3c074e220446884">oyCountry</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get country code <a href="group__misc.html#ga4bf64b395d27a8e6f3c074e220446884"></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__misc.html#gaf9f5cbfea2e8b2ecf69c1b6139d051cf">oyLang</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get LANG code/variable <a href="group__misc.html#gaf9f5cbfea2e8b2ecf69c1b6139d051cf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga2c79846214aaca62a84fc39226cb0010">oyI18Nreset</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">reset i18n language and country variables <a href="group__misc.html#ga2c79846214aaca62a84fc39226cb0010"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gaca099da792e95880977bcdd7a74b2ab2">oyVersion</a> (int type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">give the compiled in library version <a href="group__misc.html#gaca099da792e95880977bcdd7a74b2ab2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga1397bb66eec8d6fa80aa52c4c52a6916">oyVersionString</a> (int type, oyAlloc_f allocateFunc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">give the configure options for Oyranos <a href="group__misc.html#ga1397bb66eec8d6fa80aa52c4c52a6916"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga5c9afd94f62535409b21ede1da6aa46a">oyProfileGetMD5</a> (void *buffer, size_t size, unsigned char *md5_return)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">calculate a md5 digest beginning after the header offset <a href="group__misc.html#ga5c9afd94f62535409b21ede1da6aa46a"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>The API implementation. </p> <p>public Oyranos API's</p> <p>This file contains functions implementing the Oyranos API.<br/> For the Oyranos API see</p> <p>Oyranos is an open source Colour Management System</p> <dl class="user"><dt><b>Copyright:</b></dt><dd>2004-2009 (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>new BSD <<a href="http://www.opensource.org/licenses/bsd-license.php">http://www.opensource.org/licenses/bsd-license.php</a>> </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2004/11/25 </dd></dl> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="af1937771af44a29c64f201ff29caa745"></a><!-- doxytag: member="oyranos.c::oyEraseDeviceProfile" ref="af1937771af44a29c64f201ff29caa745" args="(oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int oyEraseDeviceProfile </td> <td>(</td> <td class="paramtype">oyDEVICETYP_e </td> <td class="paramname"><em>typ</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>manufacturer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>model</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>product_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>host</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>port</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib3</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>remove or deinstall the profile from the current path </p> </div> </div> <a class="anchor" id="a01f5ac0ece5c4172bd0a1a4f167735d1"></a><!-- doxytag: member="oyranos.c::oyGetDeviceProfile" ref="a01f5ac0ece5c4172bd0a1a4f167735d1" args="(oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3, oyAlloc_f allocate_func)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* oyGetDeviceProfile </td> <td>(</td> <td class="paramtype">oyDEVICETYP_e </td> <td class="paramname"><em>typ</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>manufacturer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>model</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>product_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>host</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>port</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib3</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">oyAlloc_f </td> <td class="paramname"><em>allocate_func</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>ask for a profile name by specifying device attributes </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">typ</td><td>kind of device </td></tr> <tr><td class="paramname">manufacturer</td><td>the device manufacturer (EIZO) </td></tr> <tr><td class="paramname">model</td><td>the model (LCD2100) </td></tr> <tr><td class="paramname">product_id</td><td>the ID reported during connection (ID_701200xx) </td></tr> <tr><td class="paramname">host</td><td>useful for monitor identification (grafic:0.0) </td></tr> <tr><td class="paramname">port</td><td>kind of connection (Matrox G650) </td></tr> <tr><td class="paramname">attrib1</td><td>additional attribute </td></tr> <tr><td class="paramname">attrib2</td><td>additional attribute </td></tr> <tr><td class="paramname">attrib3</td><td>additional attribute </td></tr> <tr><td class="paramname">allocate_func</td><td>the users memory allocation function</td></tr> </table> </dd> </dl> <p>simply pass 0 for not specified properties<br/> </p> <div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span>* profile_name = <a class="code" href="oyranos_8c.html#a01f5ac0ece5c4172bd0a1a4f167735d1" title="ask for a profile name by specifying device attributes">oyGetDeviceProfile</a> (<span class="stringliteral">"EIZO"</span>, <span class="stringliteral">"LCD2100"</span>, <span class="stringliteral">"ID 87-135.19"</span>, <span class="stringliteral">"grafic:0.0"</span>, <span class="stringliteral">"Matrox G650"</span>, <span class="stringliteral">"100lux"</span>, 0, <span class="stringliteral">""</span>, allocate_func); <span class="keywordflow">if</span> (profile_name) { <span class="keywordtype">char</span>* ptr = NULL; ptr = <a class="code" href="group__profile__handling.html#ga25842800e33454edb1883647985a6918" title="obtain an memory block in the responsibility of the user">oyGetProfileBlock</a> (profile_name, allocate_func); <span class="comment">// do something</span> free (ptr); } </pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>allocated by oyAlloc_f </dd></dl> </div> </div> <a class="anchor" id="a0c43347740a5eded682758ed293b778a"></a><!-- doxytag: member="oyranos.c::oyMessageFunc_" ref="a0c43347740a5eded682758ed293b778a" args="(int code, const oyStruct_s *context, const char *format,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int oyMessageFunc_ </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const oyStruct_s * </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>oyMessageFunc_ </p> <dl class="version"><dt><b>Version:</b></dt><dd>Oyranos: 0.1.10 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2008/04/03 (Oyranos: 0.1.8) </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2009/07/20 </dd></dl> </div> </div> <a class="anchor" id="ac7aef0722b779244e8676da5bfdf7a14"></a><!-- doxytag: member="oyranos.c::oyMessageFuncSet" ref="ac7aef0722b779244e8676da5bfdf7a14" args="(oyMessage_f message_func)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int oyMessageFuncSet </td> <td>(</td> <td class="paramtype">oyMessage_f </td> <td class="paramname"><em>message_func</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>oyMessageFuncSet </p> <dl class="version"><dt><b>Version:</b></dt><dd>Oyranos: 0.1.8 </dd></dl> <dl class="date"><dt><b>Date:</b></dt><dd>2008/04/03 </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>2008/04/03 (Oyranos: 0.1.8) </dd></dl> </div> </div> <a class="anchor" id="aafcbf284ded0bb31b5695ff6c38d8550"></a><!-- doxytag: member="oyranos.c::oySetDeviceProfile" ref="aafcbf284ded0bb31b5695ff6c38d8550" args="(oyDEVICETYP_e typ, const char *manufacturer, const char *model, const char *product_id, const char *host, const char *port, const char *attrib1, const char *attrib2, const char *attrib3, const char *profileName, const void *mem, size_t size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int oySetDeviceProfile </td> <td>(</td> <td class="paramtype">oyDEVICETYP_e </td> <td class="paramname"><em>typ</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>manufacturer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>model</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>product_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>host</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>port</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>attrib3</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>profileName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>mem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>set a profile name with specifying device attributes </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">mem</td><td>remains in the users domain </td></tr> </table> </dd> </dl> </div> </div> </div> <hr> <p class="footer"> Generated on Wed Feb 9 2011 05:26:21 for <a href="http://www.oyranos.org">Oyranos</a> by <a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen" align="middle" border="0"/>1.7.3</a><br/> Copyright © 2004-2009 Kai-Uwe Behrmann and others. All Rights Reserved.</p> <hr> <!--#include virtual="/attrib.incl" --> </body> </html>