<!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>libmtp: /home/mandrake/rpm/BUILD/libmtp-1.0.2/src/ptp.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.6.2 --> <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 class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="examples.html"><span>Examples</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> <div class="navpath"><a class="el" href="dir_afadb87d2fbfeb62b40078349a549d44.html">src</a> </div> </div> <div class="contents"> <h1>ptp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* ptp.h</span> <a name="l00002"></a>00002 <span class="comment"> *</span> <a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2001 Mariusz Woloszyn <emsi@ipartners.pl></span> <a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2003-2009 Marcus Meissner <marcus@jet.franken.de></span> <a name="l00005"></a>00005 <span class="comment"> * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se></span> <a name="l00006"></a>00006 <span class="comment"> *</span> <a name="l00007"></a>00007 <span class="comment"> * This library is free software; you can redistribute it and/or</span> <a name="l00008"></a>00008 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span> <a name="l00009"></a>00009 <span class="comment"> * License as published by the Free Software Foundation; either</span> <a name="l00010"></a>00010 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span> <a name="l00011"></a>00011 <span class="comment"> *</span> <a name="l00012"></a>00012 <span class="comment"> * This library is distributed in the hope that it will be useful,</span> <a name="l00013"></a>00013 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00014"></a>00014 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> <a name="l00015"></a>00015 <span class="comment"> * Lesser General Public License for more details.</span> <a name="l00016"></a>00016 <span class="comment"> *</span> <a name="l00017"></a>00017 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span> <a name="l00018"></a>00018 <span class="comment"> * License along with this library; if not, write to the</span> <a name="l00019"></a>00019 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span> <a name="l00020"></a>00020 <span class="comment"> * Boston, MA 02111-1307, USA.</span> <a name="l00021"></a>00021 <span class="comment"> */</span> <a name="l00022"></a>00022 <a name="l00023"></a>00023 <span class="preprocessor">#ifndef __PTP_H__</span> <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __PTP_H__</span> <a name="l00025"></a>00025 <span class="preprocessor"></span> <a name="l00026"></a>00026 <span class="preprocessor">#include <stdarg.h></span> <a name="l00027"></a>00027 <span class="preprocessor">#include <time.h></span> <a name="l00028"></a>00028 <span class="preprocessor">#ifdef HAVE_ICONV</span> <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include <iconv.h></span> <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include "gphoto2-endian.h"</span> <a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="device-flags_8h.html">device-flags.h</a>"</span> <a name="l00033"></a>00033 <a name="l00034"></a>00034 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00036"></a>00036 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span> <a name="l00037"></a>00037 <a name="l00038"></a>00038 <span class="comment">/* PTP datalayer byteorder */</span> <a name="l00039"></a>00039 <a name="l00040"></a>00040 <span class="preprocessor">#define PTP_DL_BE 0xF0</span> <a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DL_LE 0x0F</span> <a name="l00042"></a>00042 <span class="preprocessor"></span> <a name="l00043"></a>00043 <span class="comment">/* USB interface class */</span> <a name="l00044"></a>00044 <span class="preprocessor">#ifndef USB_CLASS_PTP</span> <a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define USB_CLASS_PTP 6</span> <a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00047"></a>00047 <span class="preprocessor"></span> <a name="l00048"></a>00048 <span class="comment">/* PTP request/response/event general PTP container (transport independent) */</span> <a name="l00049"></a>00049 <a name="l00050"></a><a class="code" href="struct__PTPContainer.html">00050</a> <span class="keyword">struct </span><a class="code" href="struct__PTPContainer.html">_PTPContainer</a> { <a name="l00051"></a>00051 uint16_t Code; <a name="l00052"></a>00052 uint32_t SessionID; <a name="l00053"></a>00053 uint32_t Transaction_ID; <a name="l00054"></a>00054 <span class="comment">/* params may be of any type of size less or equal to uint32_t */</span> <a name="l00055"></a>00055 uint32_t Param1; <a name="l00056"></a>00056 uint32_t Param2; <a name="l00057"></a>00057 uint32_t Param3; <a name="l00058"></a>00058 <span class="comment">/* events can only have three parameters */</span> <a name="l00059"></a>00059 uint32_t Param4; <a name="l00060"></a>00060 uint32_t Param5; <a name="l00061"></a>00061 <span class="comment">/* the number of meaningfull parameters */</span> <a name="l00062"></a>00062 uint8_t Nparam; <a name="l00063"></a>00063 }; <a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPContainer.html">_PTPContainer</a> <a class="code" href="struct__PTPContainer.html">PTPContainer</a>; <a name="l00065"></a>00065 <a name="l00066"></a>00066 <span class="comment">/* PTP USB Bulk-Pipe container */</span> <a name="l00067"></a>00067 <span class="comment">/* USB bulk max packet length for high speed endpoints */</span> <a name="l00068"></a>00068 <span class="comment">/* The max packet is set to 512 bytes. The spec says</span> <a name="l00069"></a>00069 <span class="comment"> * "end of data transfers are signaled by short packets or NULL</span> <a name="l00070"></a>00070 <span class="comment"> * packets". It never says anything about 512, but current</span> <a name="l00071"></a>00071 <span class="comment"> * implementations seem to have chosen this value, which also</span> <a name="l00072"></a>00072 <span class="comment"> * happens to be the size of an USB 2.0 HS endpoint, even though</span> <a name="l00073"></a>00073 <span class="comment"> * this is not necessary.</span> <a name="l00074"></a>00074 <span class="comment"> *</span> <a name="l00075"></a>00075 <span class="comment"> * Previously we had this as 4096 for MTP devices. We have found</span> <a name="l00076"></a>00076 <span class="comment"> * and fixed the bugs that made this necessary and it can be 512 again.</span> <a name="l00077"></a>00077 <span class="comment"> */</span> <a name="l00078"></a>00078 <span class="preprocessor">#define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE 512</span> <a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_BULK_HS_MAX_PACKET_LEN_READ 512</span> <a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t))</span> <a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_BULK_PAYLOAD_LEN_WRITE (PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE-PTP_USB_BULK_HDR_LEN)</span> <a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_BULK_PAYLOAD_LEN_READ (PTP_USB_BULK_HS_MAX_PACKET_LEN_READ-PTP_USB_BULK_HDR_LEN)</span> <a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t))</span> <a name="l00084"></a>00084 <span class="preprocessor"></span> <a name="l00085"></a><a class="code" href="struct__PTPUSBBulkContainer.html">00085</a> <span class="keyword">struct </span><a class="code" href="struct__PTPUSBBulkContainer.html">_PTPUSBBulkContainer</a> { <a name="l00086"></a>00086 uint32_t length; <a name="l00087"></a>00087 uint16_t type; <a name="l00088"></a>00088 uint16_t code; <a name="l00089"></a>00089 uint32_t trans_id; <a name="l00090"></a>00090 <span class="keyword">union </span>{ <a name="l00091"></a>00091 <span class="keyword">struct </span>{ <a name="l00092"></a>00092 uint32_t param1; <a name="l00093"></a>00093 uint32_t param2; <a name="l00094"></a>00094 uint32_t param3; <a name="l00095"></a>00095 uint32_t param4; <a name="l00096"></a>00096 uint32_t param5; <a name="l00097"></a>00097 } params; <a name="l00098"></a>00098 <span class="comment">/* this must be set to the maximum of PTP_USB_BULK_PAYLOAD_LEN_WRITE </span> <a name="l00099"></a>00099 <span class="comment"> * and PTP_USB_BULK_PAYLOAD_LEN_READ */</span> <a name="l00100"></a>00100 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> data[PTP_USB_BULK_PAYLOAD_LEN_READ]; <a name="l00101"></a>00101 } payload; <a name="l00102"></a>00102 }; <a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPUSBBulkContainer.html">_PTPUSBBulkContainer</a> <a class="code" href="struct__PTPUSBBulkContainer.html">PTPUSBBulkContainer</a>; <a name="l00104"></a>00104 <a name="l00105"></a>00105 <span class="comment">/* PTP USB Asynchronous Event Interrupt Data Format */</span> <a name="l00106"></a><a class="code" href="struct__PTPUSBEventContainer.html">00106</a> <span class="keyword">struct </span><a class="code" href="struct__PTPUSBEventContainer.html">_PTPUSBEventContainer</a> { <a name="l00107"></a>00107 uint32_t length; <a name="l00108"></a>00108 uint16_t type; <a name="l00109"></a>00109 uint16_t code; <a name="l00110"></a>00110 uint32_t trans_id; <a name="l00111"></a>00111 uint32_t param1; <a name="l00112"></a>00112 uint32_t param2; <a name="l00113"></a>00113 uint32_t param3; <a name="l00114"></a>00114 }; <a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPUSBEventContainer.html">_PTPUSBEventContainer</a> <a class="code" href="struct__PTPUSBEventContainer.html">PTPUSBEventContainer</a>; <a name="l00116"></a>00116 <a name="l00117"></a><a class="code" href="struct__PTPCanon__directtransfer__entry.html">00117</a> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__directtransfer__entry.html">_PTPCanon_directtransfer_entry</a> { <a name="l00118"></a>00118 uint32_t oid; <a name="l00119"></a>00119 <span class="keywordtype">char</span> *str; <a name="l00120"></a>00120 }; <a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__directtransfer__entry.html">_PTPCanon_directtransfer_entry</a> <a class="code" href="struct__PTPCanon__directtransfer__entry.html">PTPCanon_directtransfer_entry</a>; <a name="l00122"></a>00122 <a name="l00123"></a>00123 <span class="comment">/* USB container types */</span> <a name="l00124"></a>00124 <a name="l00125"></a>00125 <span class="preprocessor">#define PTP_USB_CONTAINER_UNDEFINED 0x0000</span> <a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_CONTAINER_COMMAND 0x0001</span> <a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_CONTAINER_DATA 0x0002</span> <a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_CONTAINER_RESPONSE 0x0003</span> <a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor">#define PTP_USB_CONTAINER_EVENT 0x0004</span> <a name="l00130"></a>00130 <span class="preprocessor"></span> <a name="l00131"></a>00131 <span class="comment">/* PTP/IP definitions */</span> <a name="l00132"></a>00132 <span class="preprocessor">#define PTPIP_INIT_COMMAND_REQUEST 1</span> <a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_INIT_COMMAND_ACK 2</span> <a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_INIT_EVENT_REQUEST 3</span> <a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_INIT_EVENT_ACK 4</span> <a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_INIT_FAIL 5</span> <a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_CMD_REQUEST 6</span> <a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_CMD_RESPONSE 7</span> <a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_EVENT 8</span> <a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_START_DATA_PACKET 9</span> <a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_DATA_PACKET 10</span> <a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_CANCEL_TRANSACTION 11</span> <a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_END_DATA_PACKET 12</span> <a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_PING 13</span> <a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor">#define PTPIP_PONG 14</span> <a name="l00146"></a>00146 <span class="preprocessor"></span> <a name="l00147"></a><a class="code" href="struct__PTPIPHeader.html">00147</a> <span class="keyword">struct </span><a class="code" href="struct__PTPIPHeader.html">_PTPIPHeader</a> { <a name="l00148"></a>00148 uint32_t length; <a name="l00149"></a>00149 uint32_t type; <a name="l00150"></a>00150 }; <a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPIPHeader.html">_PTPIPHeader</a> <a class="code" href="struct__PTPIPHeader.html">PTPIPHeader</a>; <a name="l00152"></a>00152 <a name="l00153"></a>00153 <span class="comment">/* Vendor IDs */</span> <a name="l00154"></a>00154 <span class="preprocessor">#define PTP_VENDOR_EASTMAN_KODAK 0x00000001</span> <a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_SEIKO_EPSON 0x00000002</span> <a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_AGILENT 0x00000003</span> <a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_POLAROID 0x00000004</span> <a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_AGFA_GEVAERT 0x00000005</span> <a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_MICROSOFT 0x00000006</span> <a name="l00160"></a>00160 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_EQUINOX 0x00000007</span> <a name="l00161"></a>00161 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_VIEWQUEST 0x00000008</span> <a name="l00162"></a>00162 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_STMICROELECTRONICS 0x00000009</span> <a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_NIKON 0x0000000A</span> <a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_CANON 0x0000000B</span> <a name="l00165"></a>00165 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_FOTONATION 0x0000000C</span> <a name="l00166"></a>00166 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_PENTAX 0x0000000D</span> <a name="l00167"></a>00167 <span class="preprocessor"></span><span class="preprocessor">#define PTP_VENDOR_FUJI 0x0000000E</span> <a name="l00168"></a>00168 <span class="preprocessor"></span><span class="comment">/* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */</span> <a name="l00169"></a>00169 <span class="preprocessor">#define PTP_VENDOR_MTP 0xffffffff </span> <a name="l00170"></a>00170 <span class="preprocessor"></span> <a name="l00171"></a>00171 <span class="comment">/* Operation Codes */</span> <a name="l00172"></a>00172 <a name="l00173"></a>00173 <span class="comment">/* PTP v1.0 operation codes */</span> <a name="l00174"></a>00174 <span class="preprocessor">#define PTP_OC_Undefined 0x1000</span> <a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetDeviceInfo 0x1001</span> <a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_OpenSession 0x1002</span> <a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CloseSession 0x1003</span> <a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetStorageIDs 0x1004</span> <a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetStorageInfo 0x1005</span> <a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetNumObjects 0x1006</span> <a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetObjectHandles 0x1007</span> <a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetObjectInfo 0x1008</span> <a name="l00183"></a>00183 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetObject 0x1009</span> <a name="l00184"></a>00184 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetThumb 0x100A</span> <a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_DeleteObject 0x100B</span> <a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_SendObjectInfo 0x100C</span> <a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_SendObject 0x100D</span> <a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_InitiateCapture 0x100E</span> <a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_FormatStore 0x100F</span> <a name="l00190"></a>00190 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_ResetDevice 0x1010</span> <a name="l00191"></a>00191 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_SelfTest 0x1011</span> <a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_SetObjectProtection 0x1012</span> <a name="l00193"></a>00193 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_PowerDown 0x1013</span> <a name="l00194"></a>00194 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetDevicePropDesc 0x1014</span> <a name="l00195"></a>00195 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetDevicePropValue 0x1015</span> <a name="l00196"></a>00196 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_SetDevicePropValue 0x1016</span> <a name="l00197"></a>00197 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_ResetDevicePropValue 0x1017</span> <a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_TerminateOpenCapture 0x1018</span> <a name="l00199"></a>00199 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MoveObject 0x1019</span> <a name="l00200"></a>00200 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CopyObject 0x101A</span> <a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetPartialObject 0x101B</span> <a name="l00202"></a>00202 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_InitiateOpenCapture 0x101C</span> <a name="l00203"></a>00203 <span class="preprocessor"></span><span class="comment">/* PTP v1.1 operation codes */</span> <a name="l00204"></a>00204 <span class="preprocessor">#define PTP_OC_StartEnumHandles 0x101D</span> <a name="l00205"></a>00205 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EnumHandles 0x101E</span> <a name="l00206"></a>00206 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_StopEnumHandles 0x101F</span> <a name="l00207"></a>00207 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetVendorExtensionMaps 0x1020</span> <a name="l00208"></a>00208 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetVendorDeviceInfo 0x1021</span> <a name="l00209"></a>00209 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetResizedImageObject 0x1022</span> <a name="l00210"></a>00210 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetFilesystemManifest 0x1023</span> <a name="l00211"></a>00211 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetStreamInfo 0x1024</span> <a name="l00212"></a>00212 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_GetStream 0x1025</span> <a name="l00213"></a>00213 <span class="preprocessor"></span> <a name="l00214"></a>00214 <span class="comment">/* Eastman Kodak extension Operation Codes */</span> <a name="l00215"></a>00215 <span class="preprocessor">#define PTP_OC_EK_GetSerial 0x9003</span> <a name="l00216"></a>00216 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EK_SetSerial 0x9004</span> <a name="l00217"></a>00217 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EK_SendFileObjectInfo 0x9005</span> <a name="l00218"></a>00218 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EK_SendFileObject 0x9006</span> <a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EK_SetText 0x9008</span> <a name="l00220"></a>00220 <span class="preprocessor"></span> <a name="l00221"></a>00221 <span class="comment">/* Canon extension Operation Codes */</span> <a name="l00222"></a>00222 <span class="preprocessor">#define PTP_OC_CANON_GetPartialObjectInfo 0x9001</span> <a name="l00223"></a>00223 <span class="preprocessor"></span><span class="comment">/* 9002 - sends 2 uint32, nothing back */</span> <a name="l00224"></a>00224 <span class="preprocessor">#define PTP_OC_CANON_SetObjectArchive 0x9002</span> <a name="l00225"></a>00225 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_KeepDeviceOn 0x9003</span> <a name="l00226"></a>00226 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_LockDeviceUI 0x9004</span> <a name="l00227"></a>00227 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_UnlockDeviceUI 0x9005</span> <a name="l00228"></a>00228 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetObjectHandleByName 0x9006</span> <a name="l00229"></a>00229 <span class="preprocessor"></span><span class="comment">/* no 9007 observed yet */</span> <a name="l00230"></a>00230 <span class="preprocessor">#define PTP_OC_CANON_InitiateReleaseControl 0x9008</span> <a name="l00231"></a>00231 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_TerminateReleaseControl 0x9009</span> <a name="l00232"></a>00232 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_TerminatePlaybackMode 0x900A</span> <a name="l00233"></a>00233 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_ViewfinderOn 0x900B</span> <a name="l00234"></a>00234 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_ViewfinderOff 0x900C</span> <a name="l00235"></a>00235 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_DoAeAfAwb 0x900D</span> <a name="l00236"></a>00236 <span class="preprocessor"></span> <a name="l00237"></a>00237 <span class="comment">/* 900e - send nothing, gets 5 uint16t in 32bit entities back in 20byte datablob */</span> <a name="l00238"></a>00238 <span class="preprocessor">#define PTP_OC_CANON_GetCustomizeSpec 0x900E</span> <a name="l00239"></a>00239 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetCustomizeItemInfo 0x900F</span> <a name="l00240"></a>00240 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetCustomizeData 0x9010</span> <a name="l00241"></a>00241 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SetCustomizeData 0x9011</span> <a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetCaptureStatus 0x9012</span> <a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_CheckEvent 0x9013</span> <a name="l00244"></a>00244 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_FocusLock 0x9014</span> <a name="l00245"></a>00245 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_FocusUnlock 0x9015</span> <a name="l00246"></a>00246 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetLocalReleaseParam 0x9016</span> <a name="l00247"></a>00247 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SetLocalReleaseParam 0x9017</span> <a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_AskAboutPcEvf 0x9018</span> <a name="l00249"></a>00249 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SendPartialObject 0x9019</span> <a name="l00250"></a>00250 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_InitiateCaptureInMemory 0x901A</span> <a name="l00251"></a>00251 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetPartialObjectEx 0x901B</span> <a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SetObjectTime 0x901C</span> <a name="l00253"></a>00253 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetViewfinderImage 0x901D</span> <a name="l00254"></a>00254 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetObjectAttributes 0x901E</span> <a name="l00255"></a>00255 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_ChangeUSBProtocol 0x901F</span> <a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetChanges 0x9020</span> <a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetObjectInfoEx 0x9021</span> <a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_InitiateDirectTransfer 0x9022</span> <a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_TerminateDirectTransfer 0x9023</span> <a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SendObjectInfoByPath 0x9024</span> <a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_SendObjectByPath 0x9025</span> <a name="l00262"></a>00262 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_InitiateDirectTansferEx 0x9026</span> <a name="l00263"></a>00263 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetAncillaryObjectHandles 0x9027</span> <a name="l00264"></a>00264 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetTreeInfo 0x9028</span> <a name="l00265"></a>00265 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetTreeSize 0x9029</span> <a name="l00266"></a>00266 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_NotifyProgress 0x902A</span> <a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_NotifyCancelAccepted 0x902B</span> <a name="l00268"></a>00268 <span class="preprocessor"></span><span class="comment">/* 902c: no parms, read 3 uint32 in data, no response parms */</span> <a name="l00269"></a>00269 <span class="preprocessor">#define PTP_OC_CANON_902C 0x902C</span> <a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetDirectory 0x902D</span> <a name="l00271"></a>00271 <span class="preprocessor"></span> <a name="l00272"></a>00272 <span class="preprocessor">#define PTP_OC_CANON_SetPairingInfo 0x9030</span> <a name="l00273"></a>00273 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetPairingInfo 0x9031</span> <a name="l00274"></a>00274 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_DeletePairingInfo 0x9032</span> <a name="l00275"></a>00275 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetMACAddress 0x9033</span> <a name="l00276"></a>00276 <span class="preprocessor"></span><span class="comment">/* 9034: 1 param, no parms returned */</span> <a name="l00277"></a>00277 <span class="preprocessor">#define PTP_OC_CANON_SetDisplayMonitor 0x9034</span> <a name="l00278"></a>00278 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_PairingComplete 0x9035</span> <a name="l00279"></a>00279 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_GetWirelessMAXChannel 0x9036</span> <a name="l00280"></a>00280 <span class="preprocessor"></span> <a name="l00281"></a>00281 <span class="comment">/* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */</span> <a name="l00282"></a>00282 <span class="preprocessor">#define PTP_OC_CANON_EOS_GetStorageIDs 0x9101</span> <a name="l00283"></a>00283 <span class="preprocessor"></span><span class="comment">/* 9102: 1 arg (0)</span> <a name="l00284"></a>00284 <span class="comment"> * 0x28 bytes of data:</span> <a name="l00285"></a>00285 <span class="comment"> 00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00</span> <a name="l00286"></a>00286 <span class="comment"> 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</span> <a name="l00287"></a>00287 <span class="comment"> 00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00</span> <a name="l00288"></a>00288 <span class="comment"> 00000030: 3a 00 00 00</span> <a name="l00289"></a>00289 <span class="comment"> * no resp args</span> <a name="l00290"></a>00290 <span class="comment"> */</span> <a name="l00291"></a>00291 <span class="preprocessor">#define PTP_OC_CANON_EOS_GetStorageInfo 0x9102</span> <a name="l00292"></a>00292 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetObjectInfo 0x9103</span> <a name="l00293"></a>00293 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetObject 0x9104</span> <a name="l00294"></a>00294 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_DeleteObject 0x9105</span> <a name="l00295"></a>00295 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_FormatStore 0x9106</span> <a name="l00296"></a>00296 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetPartialObject 0x9107</span> <a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetDeviceInfoEx 0x9108</span> <a name="l00298"></a>00298 <span class="preprocessor"></span> <a name="l00299"></a>00299 <span class="comment">/* sample1:</span> <a name="l00300"></a>00300 <span class="comment"> * 3 cmdargs: 1,0xffffffff,00 00 10 00;</span> <a name="l00301"></a>00301 <span class="comment"> * data:</span> <a name="l00302"></a>00302 <span class="comment"> 00000000: 48 00 00 00 02 00 09 91 12 00 00 00 01 00 00 00</span> <a name="l00303"></a>00303 <span class="comment"> 00000010: 38 00 00 00 00 00 00 30 01 00 00 00 01 30 00 00</span> <a name="l00304"></a>00304 <span class="comment"> 00000020: 01 00 00 00 10 00 00 00 00 00 00 00 00 00 00 20</span> <a name="l00305"></a>00305 <span class="comment"> 00000030: 00 00 00 30 44 43 49 4d 00 00 00 00 00 00 00 00 DCIM</span> <a name="l00306"></a>00306 <span class="comment"> 00000040: 00 00 00 00 cc c3 01 46</span> <a name="l00307"></a>00307 <span class="comment"> * 2 respargs: 0x0, 0x3c</span> <a name="l00308"></a>00308 <span class="comment"> * </span> <a name="l00309"></a>00309 <span class="comment"> * sample2:</span> <a name="l00310"></a>00310 <span class="comment"> *</span> <a name="l00311"></a>00311 <span class="comment"> 00000000: 18 00 00 00 01 00 09 91 15 00 00 00 01 00 00 00</span> <a name="l00312"></a>00312 <span class="comment"> 00000010: 00 00 00 30 00 00 10 00</span> <a name="l00313"></a>00313 <span class="comment"></span> <a name="l00314"></a>00314 <span class="comment"> 00000000: 48 00 00 00 02 00 09 91 15 00 00 00 01 00 00 00</span> <a name="l00315"></a>00315 <span class="comment"> 00000010: 38 00 00 00 00 00 9c 33 01 00 00 00 01 30 00 00</span> <a name="l00316"></a>00316 <span class="comment"> 00000020: 01 00 00 00 10 00 00 00 00 00 00 00 00 00 00 30</span> <a name="l00317"></a>00317 <span class="comment"> 00000030: 00 00 9c 33 32 33 31 43 41 4e 4f 4e 00 00 00 00 231CANON</span> <a name="l00318"></a>00318 <span class="comment"> 00000040: 00 00 00 00 cc c3 01 46</span> <a name="l00319"></a>00319 <span class="comment"></span> <a name="l00320"></a>00320 <span class="comment"> */</span> <a name="l00321"></a>00321 <span class="preprocessor">#define PTP_OC_CANON_EOS_GetObjectInfoEx 0x9109</span> <a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetThumbEx 0x910A</span> <a name="l00323"></a>00323 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SendPartialObject 0x910B</span> <a name="l00324"></a>00324 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetObjectAttributes 0x910C</span> <a name="l00325"></a>00325 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetObjectTime 0x910D</span> <a name="l00326"></a>00326 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetObjectTime 0x910E</span> <a name="l00327"></a>00327 <span class="preprocessor"></span> <a name="l00328"></a>00328 <span class="comment">/* 910f: no args, no data, 1 response arg (0). */</span> <a name="l00329"></a>00329 <span class="preprocessor">#define PTP_OC_CANON_EOS_RemoteRelease 0x910F</span> <a name="l00330"></a>00330 <span class="preprocessor"></span><span class="comment">/* Marcus: looks more like "Set DeviceProperty" in the trace. </span> <a name="l00331"></a>00331 <span class="comment"> *</span> <a name="l00332"></a>00332 <span class="comment"> * no cmd args</span> <a name="l00333"></a>00333 <span class="comment"> * data phase (0xc, 0xd11c, 0x1)</span> <a name="l00334"></a>00334 <span class="comment"> * no resp args </span> <a name="l00335"></a>00335 <span class="comment"> */</span> <a name="l00336"></a>00336 <span class="preprocessor">#define PTP_OC_CANON_EOS_SetDevicePropValueEx 0x9110</span> <a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetRemoteMode 0x9113</span> <a name="l00338"></a>00338 <span class="preprocessor"></span><span class="comment">/* 9114: 1 arg (0x1), no data, no resp data. */</span> <a name="l00339"></a>00339 <span class="preprocessor">#define PTP_OC_CANON_EOS_SetRemoteMode 0x9114</span> <a name="l00340"></a>00340 <span class="preprocessor"></span><span class="comment">/* 9115: 1 arg (0x1), no data, no resp data. */</span> <a name="l00341"></a>00341 <span class="preprocessor">#define PTP_OC_CANON_EOS_SetEventMode 0x9115</span> <a name="l00342"></a>00342 <span class="preprocessor"></span><span class="comment">/* 9116: no args, data phase, no resp data. */</span> <a name="l00343"></a>00343 <span class="preprocessor">#define PTP_OC_CANON_EOS_GetEvent 0x9116</span> <a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_TransferComplete 0x9117</span> <a name="l00345"></a>00345 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_CancelTransfer 0x9118</span> <a name="l00346"></a>00346 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_ResetTransfer 0x9119</span> <a name="l00347"></a>00347 <span class="preprocessor"></span> <a name="l00348"></a>00348 <span class="comment">/* 911a: 3 args (0xfffffff7, 0x00001000, 0x00000001), no data, no resp data. */</span> <a name="l00349"></a>00349 <span class="comment">/* 911a: 3 args (0x001dfc60, 0x00001000, 0x00000001), no data, no resp data. */</span> <a name="l00350"></a>00350 <span class="preprocessor">#define PTP_OC_CANON_EOS_PCHDDCapacity 0x911A</span> <a name="l00351"></a>00351 <span class="preprocessor"></span> <a name="l00352"></a>00352 <span class="comment">/* 911b: no cmd args, no data, no resp args */</span> <a name="l00353"></a>00353 <span class="preprocessor">#define PTP_OC_CANON_EOS_SetUILock 0x911B</span> <a name="l00354"></a>00354 <span class="preprocessor"></span><span class="comment">/* 911c: no cmd args, no data, no resp args */</span> <a name="l00355"></a>00355 <span class="preprocessor">#define PTP_OC_CANON_EOS_ResetUILock 0x911C</span> <a name="l00356"></a>00356 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D</span> <a name="l00357"></a>00357 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E</span> <a name="l00358"></a>00358 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_UpdateFirmware 0x911F</span> <a name="l00359"></a>00359 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120</span> <a name="l00360"></a>00360 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_CancelTransferDT 0x9121</span> <a name="l00361"></a>00361 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetWftProfile 0x9122</span> <a name="l00362"></a>00362 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetWftProfile 0x9122</span> <a name="l00363"></a>00363 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetProfileToWft 0x9124</span> <a name="l00364"></a>00364 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_BulbStart 0x9125</span> <a name="l00365"></a>00365 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_BulbEnd 0x9126</span> <a name="l00366"></a>00366 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127</span> <a name="l00367"></a>00367 <span class="preprocessor"></span> <a name="l00368"></a>00368 <span class="comment">/* 0x9128 args (0x1/0x2, 0x0), no data, no resp args */</span> <a name="l00369"></a>00369 <span class="preprocessor">#define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128</span> <a name="l00370"></a>00370 <span class="preprocessor"></span><span class="comment">/* 0x9129 args (0x1/0x2), no data, no resp args */</span> <a name="l00371"></a>00371 <span class="preprocessor">#define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129</span> <a name="l00372"></a>00372 <span class="preprocessor"></span> <a name="l00373"></a>00373 <span class="preprocessor">#define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151</span> <a name="l00374"></a>00374 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152</span> <a name="l00375"></a>00375 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_GetViewFinderData 0x9153</span> <a name="l00376"></a>00376 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_DoAf 0x9154</span> <a name="l00377"></a>00377 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_DriveLens 0x9155</span> <a name="l00378"></a>00378 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_DepthOfFieldPreview 0x9156</span> <a name="l00379"></a>00379 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_ClickWB 0x9157</span> <a name="l00380"></a>00380 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_Zoom 0x9158</span> <a name="l00381"></a>00381 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_ZoomPosition 0x9159</span> <a name="l00382"></a>00382 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_SetLiveAfFrame 0x915a</span> <a name="l00383"></a>00383 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_AfCancel 0x9160</span> <a name="l00384"></a>00384 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE</span> <a name="l00385"></a>00385 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF</span> <a name="l00386"></a>00386 <span class="preprocessor"></span> <a name="l00387"></a>00387 <span class="comment">/* Nikon extension Operation Codes */</span> <a name="l00388"></a>00388 <span class="preprocessor">#define PTP_OC_NIKON_GetProfileAllData 0x9006</span> <a name="l00389"></a>00389 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_SendProfileData 0x9007</span> <a name="l00390"></a>00390 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_DeleteProfile 0x9008</span> <a name="l00391"></a>00391 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_SetProfileData 0x9009</span> <a name="l00392"></a>00392 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_AdvancedTransfer 0x9010</span> <a name="l00393"></a>00393 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_GetFileInfoInBlock 0x9011</span> <a name="l00394"></a>00394 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_Capture 0x90C0 </span><span class="comment">/* 1 param, no data */</span> <a name="l00395"></a>00395 <span class="preprocessor">#define PTP_OC_NIKON_AfDrive 0x90C1 </span><span class="comment">/* no params, no data */</span> <a name="l00396"></a>00396 <span class="preprocessor">#define PTP_OC_NIKON_SetControlMode 0x90C2 </span><span class="comment">/* 1 param, no data */</span> <a name="l00397"></a>00397 <span class="preprocessor">#define PTP_OC_NIKON_DelImageSDRAM 0x90C3 </span><span class="comment">/* no params, no data */</span> <a name="l00398"></a>00398 <span class="preprocessor">#define PTP_OC_NIKON_GetLargeThumb 0x90C4</span> <a name="l00399"></a>00399 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_CurveDownload 0x90C5 </span><span class="comment">/* 1 param, data in */</span> <a name="l00400"></a>00400 <span class="preprocessor">#define PTP_OC_NIKON_CurveUpload 0x90C6 </span><span class="comment">/* 1 param, data out */</span> <a name="l00401"></a>00401 <span class="preprocessor">#define PTP_OC_NIKON_CheckEvent 0x90C7 </span><span class="comment">/* no params, data in */</span> <a name="l00402"></a>00402 <span class="preprocessor">#define PTP_OC_NIKON_DeviceReady 0x90C8 </span><span class="comment">/* no params, no data */</span> <a name="l00403"></a>00403 <span class="preprocessor">#define PTP_OC_NIKON_SetPreWBData 0x90C9 </span><span class="comment">/* 3 params, data out */</span> <a name="l00404"></a>00404 <span class="preprocessor">#define PTP_OC_NIKON_GetVendorPropCodes 0x90CA </span><span class="comment">/* 0 params, data in */</span> <a name="l00405"></a>00405 <span class="preprocessor">#define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB </span><span class="comment">/* no params, no data */</span> <a name="l00406"></a>00406 <span class="preprocessor">#define PTP_OC_NIKON_GetPictCtrlData 0x90CC</span> <a name="l00407"></a>00407 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_SetPictCtrlData 0x90CD</span> <a name="l00408"></a>00408 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_DelCstPicCtrl 0x90CE</span> <a name="l00409"></a>00409 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_GetPicCtrlCapability 0x90CF</span> <a name="l00410"></a>00410 <span class="preprocessor"></span> <a name="l00411"></a>00411 <span class="comment">/* Nikon Liveview stuff */</span> <a name="l00412"></a>00412 <span class="preprocessor">#define PTP_OC_NIKON_GetPreviewImg 0x9200</span> <a name="l00413"></a>00413 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_StartLiveView 0x9201</span> <a name="l00414"></a>00414 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_EndLiveView 0x9202</span> <a name="l00415"></a>00415 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_GetLiveViewImg 0x9203</span> <a name="l00416"></a>00416 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_MfDrive 0x9204</span> <a name="l00417"></a>00417 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_ChangeAfArea 0x9205</span> <a name="l00418"></a>00418 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_NIKON_AfDriveCancel 0x9206</span> <a name="l00419"></a>00419 <span class="preprocessor"></span> <a name="l00420"></a>00420 <span class="preprocessor">#define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0</span> <a name="l00421"></a>00421 <span class="preprocessor"></span> <a name="l00422"></a>00422 <span class="comment">/* Microsoft / MTP extension codes */</span> <a name="l00423"></a>00423 <a name="l00424"></a>00424 <span class="preprocessor">#define PTP_OC_MTP_GetObjectPropsSupported 0x9801</span> <a name="l00425"></a>00425 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_GetObjectPropDesc 0x9802</span> <a name="l00426"></a>00426 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_GetObjectPropValue 0x9803</span> <a name="l00427"></a>00427 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_SetObjectPropValue 0x9804</span> <a name="l00428"></a>00428 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_GetObjPropList 0x9805</span> <a name="l00429"></a>00429 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_SetObjPropList 0x9806</span> <a name="l00430"></a>00430 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_GetInterdependendPropdesc 0x9807</span> <a name="l00431"></a>00431 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_SendObjectPropList 0x9808</span> <a name="l00432"></a>00432 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_GetObjectReferences 0x9810</span> <a name="l00433"></a>00433 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_SetObjectReferences 0x9811</span> <a name="l00434"></a>00434 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_UpdateDeviceFirmware 0x9812</span> <a name="l00435"></a>00435 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_Skip 0x9820</span> <a name="l00436"></a>00436 <span class="preprocessor"></span> <a name="l00437"></a>00437 <span class="comment">/*</span> <a name="l00438"></a>00438 <span class="comment"> * Windows Media Digital Rights Management for Portable Devices </span> <a name="l00439"></a>00439 <span class="comment"> * Extension Codes (microsoft.com/WMDRMPD: 10.1)</span> <a name="l00440"></a>00440 <span class="comment"> */</span> <a name="l00441"></a>00441 <span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetSecureTimeChallenge 0x9101</span> <a name="l00442"></a>00442 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetSecureTimeResponse 0x9102</span> <a name="l00443"></a>00443 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SetLicenseResponse 0x9103</span> <a name="l00444"></a>00444 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetSyncList 0x9104</span> <a name="l00445"></a>00445 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SendMeterChallengeQuery 0x9105</span> <a name="l00446"></a>00446 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetMeterChallenge 0x9106</span> <a name="l00447"></a>00447 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SetMeterResponse 0x9107</span> <a name="l00448"></a>00448 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_CleanDataStore 0x9108</span> <a name="l00449"></a>00449 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetLicenseState 0x9109</span> <a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SendWMDRMPDCommand 0x910A</span> <a name="l00451"></a>00451 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SendWMDRMPDRequest 0x910B</span> <a name="l00452"></a>00452 <span class="preprocessor"></span> <a name="l00453"></a>00453 <span class="comment">/* </span> <a name="l00454"></a>00454 <span class="comment"> * Windows Media Digital Rights Management for Portable Devices </span> <a name="l00455"></a>00455 <span class="comment"> * Extension Codes (microsoft.com/WMDRMPD: 10.1)</span> <a name="l00456"></a>00456 <span class="comment"> * Below are operations that have no public documented identifier </span> <a name="l00457"></a>00457 <span class="comment"> * associated with them "Vendor-defined Command Code"</span> <a name="l00458"></a>00458 <span class="comment"> */</span> <a name="l00459"></a>00459 <span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_SendWMDRMPDAppRequest 0x9212</span> <a name="l00460"></a>00460 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_GetWMDRMPDAppResponse 0x9213</span> <a name="l00461"></a>00461 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_EnableTrustedFilesOperations 0x9214</span> <a name="l00462"></a>00462 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_DisableTrustedFilesOperations 0x9215</span> <a name="l00463"></a>00463 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMPD_EndTrustedAppSession 0x9216</span> <a name="l00464"></a>00464 <span class="preprocessor"></span><span class="comment">/* ^^^ guess ^^^ */</span> <a name="l00465"></a>00465 <a name="l00466"></a>00466 <span class="comment">/*</span> <a name="l00467"></a>00467 <span class="comment"> * Microsoft Advanced Audio/Video Transfer </span> <a name="l00468"></a>00468 <span class="comment"> * Extensions (microsoft.com/AAVT: 1.0)</span> <a name="l00469"></a>00469 <span class="comment"> */</span> <a name="l00470"></a>00470 <span class="preprocessor">#define PTP_OC_MTP_AAVT_OpenMediaSession 0x9170</span> <a name="l00471"></a>00471 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_AAVT_CloseMediaSession 0x9171</span> <a name="l00472"></a>00472 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_AAVT_GetNextDataBlock 0x9172</span> <a name="l00473"></a>00473 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_AAVT_SetCurrentTimePosition 0x9173</span> <a name="l00474"></a>00474 <span class="preprocessor"></span> <a name="l00475"></a>00475 <span class="comment">/*</span> <a name="l00476"></a>00476 <span class="comment"> * Windows Media Digital Rights Management for Network Devices </span> <a name="l00477"></a>00477 <span class="comment"> * Extensions (microsoft.com/WMDRMND: 1.0) MTP/IP?</span> <a name="l00478"></a>00478 <span class="comment"> */</span> <a name="l00479"></a>00479 <span class="preprocessor">#define PTP_OC_MTP_WMDRMND_SendRegistrationRequest 0x9180</span> <a name="l00480"></a>00480 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMND_GetRegistrationResponse 0x9181</span> <a name="l00481"></a>00481 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMND_GetProximityChallenge 0x9182</span> <a name="l00482"></a>00482 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMND_SendProximityResponse 0x9183</span> <a name="l00483"></a>00483 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMND_SendWMDRMNDLicenseRequest 0x9184</span> <a name="l00484"></a>00484 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMDRMND_GetWMDRMNDLicenseResponse 0x9185</span> <a name="l00485"></a>00485 <span class="preprocessor"></span> <a name="l00486"></a>00486 <span class="comment">/* </span> <a name="l00487"></a>00487 <span class="comment"> * Windows Media Player Portiable Devices </span> <a name="l00488"></a>00488 <span class="comment"> * Extension Codes (microsoft.com/WMPPD: 11.1)</span> <a name="l00489"></a>00489 <span class="comment"> */</span> <a name="l00490"></a>00490 <span class="preprocessor">#define PTP_OC_MTP_WMPPD_ReportAddedDeletedItems 0x9201</span> <a name="l00491"></a>00491 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMPPD_ReportAcquiredItems 0x9202</span> <a name="l00492"></a>00492 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_MTP_WMPPD_PlaylistObjectPref 0x9203</span> <a name="l00493"></a>00493 <span class="preprocessor"></span> <a name="l00494"></a>00494 <span class="comment">/*</span> <a name="l00495"></a>00495 <span class="comment"> * Undocumented Zune Operation Codes </span> <a name="l00496"></a>00496 <span class="comment"> * maybe related to WMPPD extension set?</span> <a name="l00497"></a>00497 <span class="comment"> */</span> <a name="l00498"></a>00498 <span class="preprocessor">#define PTP_OC_MTP_ZUNE_GETUNDEFINED001 0x9204</span> <a name="l00499"></a>00499 <span class="preprocessor"></span> <a name="l00500"></a>00500 <span class="comment">/* WiFi Provisioning MTP Extension Codes (microsoft.com/WPDWCN: 1.0) */</span> <a name="l00501"></a>00501 <span class="preprocessor">#define PTP_OC_MTP_WPDWCN_ProcessWFCObject 0x9122</span> <a name="l00502"></a>00502 <span class="preprocessor"></span> <a name="l00503"></a>00503 <span class="comment">/* Proprietary vendor extension operations mask */</span> <a name="l00504"></a>00504 <span class="preprocessor">#define PTP_OC_EXTENSION_MASK 0xF000</span> <a name="l00505"></a>00505 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OC_EXTENSION 0x9000</span> <a name="l00506"></a>00506 <span class="preprocessor"></span> <a name="l00507"></a>00507 <span class="comment">/* Response Codes */</span> <a name="l00508"></a>00508 <a name="l00509"></a>00509 <span class="comment">/* PTP v1.0 response codes */</span> <a name="l00510"></a>00510 <span class="preprocessor">#define PTP_RC_Undefined 0x2000</span> <a name="l00511"></a>00511 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_OK 0x2001</span> <a name="l00512"></a>00512 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_GeneralError 0x2002</span> <a name="l00513"></a>00513 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_SessionNotOpen 0x2003</span> <a name="l00514"></a>00514 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidTransactionID 0x2004</span> <a name="l00515"></a>00515 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_OperationNotSupported 0x2005</span> <a name="l00516"></a>00516 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_ParameterNotSupported 0x2006</span> <a name="l00517"></a>00517 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_IncompleteTransfer 0x2007</span> <a name="l00518"></a>00518 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidStorageId 0x2008</span> <a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidObjectHandle 0x2009</span> <a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_DevicePropNotSupported 0x200A</span> <a name="l00521"></a>00521 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidObjectFormatCode 0x200B</span> <a name="l00522"></a>00522 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_StoreFull 0x200C</span> <a name="l00523"></a>00523 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_ObjectWriteProtected 0x200D</span> <a name="l00524"></a>00524 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_StoreReadOnly 0x200E</span> <a name="l00525"></a>00525 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_AccessDenied 0x200F</span> <a name="l00526"></a>00526 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NoThumbnailPresent 0x2010</span> <a name="l00527"></a>00527 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_SelfTestFailed 0x2011</span> <a name="l00528"></a>00528 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_PartialDeletion 0x2012</span> <a name="l00529"></a>00529 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_StoreNotAvailable 0x2013</span> <a name="l00530"></a>00530 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_SpecificationByFormatUnsupported 0x2014</span> <a name="l00531"></a>00531 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NoValidObjectInfo 0x2015</span> <a name="l00532"></a>00532 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidCodeFormat 0x2016</span> <a name="l00533"></a>00533 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_UnknownVendorCode 0x2017</span> <a name="l00534"></a>00534 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_CaptureAlreadyTerminated 0x2018</span> <a name="l00535"></a>00535 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_DeviceBusy 0x2019</span> <a name="l00536"></a>00536 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidParentObject 0x201A</span> <a name="l00537"></a>00537 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidDevicePropFormat 0x201B</span> <a name="l00538"></a>00538 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidDevicePropValue 0x201C</span> <a name="l00539"></a>00539 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidParameter 0x201D</span> <a name="l00540"></a>00540 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_SessionAlreadyOpened 0x201E</span> <a name="l00541"></a>00541 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_TransactionCanceled 0x201F</span> <a name="l00542"></a>00542 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_SpecificationOfDestinationUnsupported 0x2020</span> <a name="l00543"></a>00543 <span class="preprocessor"></span><span class="comment">/* PTP v1.1 response codes */</span> <a name="l00544"></a>00544 <span class="preprocessor">#define PTP_RC_InvalidEnumHandle 0x2021</span> <a name="l00545"></a>00545 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NoStreamEnabled 0x2022</span> <a name="l00546"></a>00546 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_InvalidDataSet 0x2023</span> <a name="l00547"></a>00547 <span class="preprocessor"></span> <a name="l00548"></a>00548 <span class="comment">/* Eastman Kodak extension Response Codes */</span> <a name="l00549"></a>00549 <span class="preprocessor">#define PTP_RC_EK_FilenameRequired 0xA001</span> <a name="l00550"></a>00550 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_EK_FilenameConflicts 0xA002</span> <a name="l00551"></a>00551 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_EK_FilenameInvalid 0xA003</span> <a name="l00552"></a>00552 <span class="preprocessor"></span> <a name="l00553"></a>00553 <span class="comment">/* Nikon specific response codes */</span> <a name="l00554"></a>00554 <span class="preprocessor">#define PTP_RC_NIKON_HardwareError 0xA001</span> <a name="l00555"></a>00555 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_OutOfFocus 0xA002</span> <a name="l00556"></a>00556 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_ChangeCameraModeFailed 0xA003</span> <a name="l00557"></a>00557 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_InvalidStatus 0xA004</span> <a name="l00558"></a>00558 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_SetPropertyNotSupported 0xA005</span> <a name="l00559"></a>00559 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_WbResetError 0xA006</span> <a name="l00560"></a>00560 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_DustReferenceError 0xA007</span> <a name="l00561"></a>00561 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_ShutterSpeedBulb 0xA008</span> <a name="l00562"></a>00562 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_MirrorUpSequence 0xA009</span> <a name="l00563"></a>00563 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_CameraModeNotAdjustFNumber 0xA00A</span> <a name="l00564"></a>00564 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_NotLiveView 0xA00B</span> <a name="l00565"></a>00565 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_MfDriveStepEnd 0xA00C</span> <a name="l00566"></a>00566 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_MfDriveStepInsufficiency 0xA00E</span> <a name="l00567"></a>00567 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_NIKON_AdvancedTransferCancel 0xA022</span> <a name="l00568"></a>00568 <span class="preprocessor"></span> <a name="l00569"></a>00569 <span class="comment">/* Canon specific response codes */</span> <a name="l00570"></a>00570 <span class="preprocessor">#define PTP_RC_CANON_A009 0xA009</span> <a name="l00571"></a>00571 <span class="preprocessor"></span> <a name="l00572"></a>00572 <span class="comment">/* Microsoft/MTP specific codes */</span> <a name="l00573"></a>00573 <span class="preprocessor">#define PTP_RC_MTP_Undefined 0xA800</span> <a name="l00574"></a>00574 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Invalid_ObjectPropCode 0xA801</span> <a name="l00575"></a>00575 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Invalid_ObjectProp_Format 0xA802</span> <a name="l00576"></a>00576 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Invalid_ObjectProp_Value 0xA803</span> <a name="l00577"></a>00577 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Invalid_ObjectReference 0xA804</span> <a name="l00578"></a>00578 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Invalid_Dataset 0xA806</span> <a name="l00579"></a>00579 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Specification_By_Group_Unsupported 0xA807</span> <a name="l00580"></a>00580 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Specification_By_Depth_Unsupported 0xA808</span> <a name="l00581"></a>00581 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Object_Too_Large 0xA809</span> <a name="l00582"></a>00582 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_ObjectProp_Not_Supported 0xA80A</span> <a name="l00583"></a>00583 <span class="preprocessor"></span> <a name="l00584"></a>00584 <span class="comment">/* Microsoft Advanced Audio/Video Transfer response codes </span> <a name="l00585"></a>00585 <span class="comment">(microsoft.com/AAVT 1.0) */</span> <a name="l00586"></a>00586 <span class="preprocessor">#define PTP_RC_MTP_Invalid_Media_Session_ID 0xA170 </span> <a name="l00587"></a>00587 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_Media_Session_Limit_Reached 0xA171</span> <a name="l00588"></a>00588 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_No_More_Data 0xA172</span> <a name="l00589"></a>00589 <span class="preprocessor"></span> <a name="l00590"></a>00590 <span class="comment">/* WiFi Provisioning MTP Extension Error Codes (microsoft.com/WPDWCN: 1.0) */</span> <a name="l00591"></a>00591 <span class="preprocessor">#define PTP_RC_MTP_Invalid_WFC_Syntax 0xA121</span> <a name="l00592"></a>00592 <span class="preprocessor"></span><span class="preprocessor">#define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122</span> <a name="l00593"></a>00593 <span class="preprocessor"></span> <a name="l00594"></a>00594 <span class="comment">/* libptp2 extended ERROR codes */</span> <a name="l00595"></a>00595 <span class="preprocessor">#define PTP_ERROR_IO 0x02FF</span> <a name="l00596"></a>00596 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ERROR_DATA_EXPECTED 0x02FE</span> <a name="l00597"></a>00597 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ERROR_RESP_EXPECTED 0x02FD</span> <a name="l00598"></a>00598 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ERROR_BADPARAM 0x02FC</span> <a name="l00599"></a>00599 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ERROR_CANCEL 0x02FB</span> <a name="l00600"></a>00600 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ERROR_TIMEOUT 0x02FA</span> <a name="l00601"></a>00601 <span class="preprocessor"></span> <a name="l00602"></a>00602 <span class="comment">/* PTP Event Codes */</span> <a name="l00603"></a>00603 <a name="l00604"></a>00604 <span class="preprocessor">#define PTP_EC_Undefined 0x4000</span> <a name="l00605"></a>00605 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CancelTransaction 0x4001</span> <a name="l00606"></a>00606 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_ObjectAdded 0x4002</span> <a name="l00607"></a>00607 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_ObjectRemoved 0x4003</span> <a name="l00608"></a>00608 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_StoreAdded 0x4004</span> <a name="l00609"></a>00609 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_StoreRemoved 0x4005</span> <a name="l00610"></a>00610 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_DevicePropChanged 0x4006</span> <a name="l00611"></a>00611 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_ObjectInfoChanged 0x4007</span> <a name="l00612"></a>00612 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_DeviceInfoChanged 0x4008</span> <a name="l00613"></a>00613 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_RequestObjectTransfer 0x4009</span> <a name="l00614"></a>00614 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_StoreFull 0x400A</span> <a name="l00615"></a>00615 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_DeviceReset 0x400B</span> <a name="l00616"></a>00616 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_StorageInfoChanged 0x400C</span> <a name="l00617"></a>00617 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CaptureComplete 0x400D</span> <a name="l00618"></a>00618 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_UnreportedStatus 0x400E</span> <a name="l00619"></a>00619 <span class="preprocessor"></span> <a name="l00620"></a>00620 <span class="comment">/* Canon extension Event Codes */</span> <a name="l00621"></a>00621 <span class="preprocessor">#define PTP_EC_CANON_ExtendedErrorcode 0xC005 </span><span class="comment">/* ? */</span> <a name="l00622"></a>00622 <span class="preprocessor">#define PTP_EC_CANON_ObjectInfoChanged 0xC008</span> <a name="l00623"></a>00623 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_RequestObjectTransfer 0xC009</span> <a name="l00624"></a>00624 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_CameraModeChanged 0xC00C</span> <a name="l00625"></a>00625 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_ShutterButtonPressed 0xC00E</span> <a name="l00626"></a>00626 <span class="preprocessor"></span> <a name="l00627"></a>00627 <span class="preprocessor">#define PTP_EC_CANON_StartDirectTransfer 0xC011</span> <a name="l00628"></a>00628 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_StopDirectTransfer 0xC013</span> <a name="l00629"></a>00629 <span class="preprocessor"></span> <a name="l00630"></a>00630 <span class="comment">/* Canon EOS events */</span> <a name="l00631"></a>00631 <span class="preprocessor">#define PTP_EC_CANON_EOS_RequestGetEvent 0xc101</span> <a name="l00632"></a>00632 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_ObjectAddedEx 0xc181</span> <a name="l00633"></a>00633 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_ObjectRemoved 0xc182</span> <a name="l00634"></a>00634 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestGetObjectInfoEx 0xc183</span> <a name="l00635"></a>00635 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_StorageStatusChanged 0xc184</span> <a name="l00636"></a>00636 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_StorageInfoChanged 0xc185</span> <a name="l00637"></a>00637 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestObjectTransfer 0xc186</span> <a name="l00638"></a>00638 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_ObjectInfoChangedEx 0xc187</span> <a name="l00639"></a>00639 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_ObjectContentChanged 0xc188</span> <a name="l00640"></a>00640 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_PropValueChanged 0xc189</span> <a name="l00641"></a>00641 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_AvailListChanged 0xc18a</span> <a name="l00642"></a>00642 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_CameraStatusChanged 0xc18b</span> <a name="l00643"></a>00643 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_WillSoonShutdown 0xc18d</span> <a name="l00644"></a>00644 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_ShutdownTimerUpdated 0xc18e</span> <a name="l00645"></a>00645 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestCancelTransfer 0xc18f</span> <a name="l00646"></a>00646 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190</span> <a name="l00647"></a>00647 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191</span> <a name="l00648"></a>00648 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_StoreAdded 0xc192</span> <a name="l00649"></a>00649 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_StoreRemoved 0xc193</span> <a name="l00650"></a>00650 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_BulbExposureTime 0xc194</span> <a name="l00651"></a>00651 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RecordingTime 0xc195</span> <a name="l00652"></a>00652 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_RequestObjectTransferTS 0xC1a2</span> <a name="l00653"></a>00653 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_CANON_EOS_AfResult 0xc1a3</span> <a name="l00654"></a>00654 <span class="preprocessor"></span> <a name="l00655"></a>00655 <span class="comment">/* Nikon extension Event Codes */</span> <a name="l00656"></a>00656 <a name="l00657"></a>00657 <span class="comment">/* Nikon extension Event Codes */</span> <a name="l00658"></a>00658 <span class="preprocessor">#define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101</span> <a name="l00659"></a>00659 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102</span> <a name="l00660"></a>00660 <span class="preprocessor"></span><span class="comment">/* Gets 1 parameter, objectid pointing to DPOF object */</span> <a name="l00661"></a>00661 <span class="preprocessor">#define PTP_EC_Nikon_AdvancedTransfer 0xC103</span> <a name="l00662"></a>00662 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_Nikon_PreviewImageAdded 0xC104</span> <a name="l00663"></a>00663 <span class="preprocessor"></span> <a name="l00664"></a>00664 <span class="comment">/* MTP Event codes */</span> <a name="l00665"></a>00665 <span class="preprocessor">#define PTP_EC_MTP_ObjectPropChanged 0xC801</span> <a name="l00666"></a>00666 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_MTP_ObjectPropDescChanged 0xC802</span> <a name="l00667"></a>00667 <span class="preprocessor"></span><span class="preprocessor">#define PTP_EC_MTP_ObjectReferencesChanged 0xC803</span> <a name="l00668"></a>00668 <span class="preprocessor"></span> <a name="l00669"></a>00669 <span class="comment">/* constants for GetObjectHandles */</span> <a name="l00670"></a>00670 <span class="preprocessor">#define PTP_GOH_ALL_STORAGE 0xffffffff</span> <a name="l00671"></a>00671 <span class="preprocessor"></span><span class="preprocessor">#define PTP_GOH_ALL_FORMATS 0x00000000</span> <a name="l00672"></a>00672 <span class="preprocessor"></span><span class="preprocessor">#define PTP_GOH_ALL_ASSOCS 0x00000000</span> <a name="l00673"></a>00673 <span class="preprocessor"></span><span class="preprocessor">#define PTP_GOH_ROOT_PARENT 0xffffffff</span> <a name="l00674"></a>00674 <span class="preprocessor"></span> <a name="l00675"></a>00675 <span class="comment">/* PTP device info structure (returned by GetDevInfo) */</span> <a name="l00676"></a>00676 <a name="l00677"></a><a class="code" href="struct__PTPDeviceInfo.html">00677</a> <span class="keyword">struct </span><a class="code" href="struct__PTPDeviceInfo.html">_PTPDeviceInfo</a> { <a name="l00678"></a>00678 uint16_t StandardVersion; <a name="l00679"></a>00679 uint32_t VendorExtensionID; <a name="l00680"></a>00680 uint16_t VendorExtensionVersion; <a name="l00681"></a>00681 <span class="keywordtype">char</span> *VendorExtensionDesc; <a name="l00682"></a>00682 uint16_t FunctionalMode; <a name="l00683"></a>00683 uint32_t OperationsSupported_len; <a name="l00684"></a>00684 uint16_t *OperationsSupported; <a name="l00685"></a>00685 uint32_t EventsSupported_len; <a name="l00686"></a>00686 uint16_t *EventsSupported; <a name="l00687"></a>00687 uint32_t DevicePropertiesSupported_len; <a name="l00688"></a>00688 uint16_t *DevicePropertiesSupported; <a name="l00689"></a>00689 uint32_t CaptureFormats_len; <a name="l00690"></a>00690 uint16_t *CaptureFormats; <a name="l00691"></a>00691 uint32_t ImageFormats_len; <a name="l00692"></a>00692 uint16_t *ImageFormats; <a name="l00693"></a>00693 <span class="keywordtype">char</span> *Manufacturer; <a name="l00694"></a>00694 <span class="keywordtype">char</span> *Model; <a name="l00695"></a>00695 <span class="keywordtype">char</span> *DeviceVersion; <a name="l00696"></a>00696 <span class="keywordtype">char</span> *SerialNumber; <a name="l00697"></a>00697 }; <a name="l00698"></a>00698 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPDeviceInfo.html">_PTPDeviceInfo</a> <a class="code" href="struct__PTPDeviceInfo.html">PTPDeviceInfo</a>; <a name="l00699"></a>00699 <a name="l00700"></a>00700 <span class="comment">/* PTP storageIDs structute (returned by GetStorageIDs) */</span> <a name="l00701"></a>00701 <a name="l00702"></a><a class="code" href="struct__PTPStorageIDs.html">00702</a> <span class="keyword">struct </span><a class="code" href="struct__PTPStorageIDs.html">_PTPStorageIDs</a> { <a name="l00703"></a>00703 uint32_t n; <a name="l00704"></a>00704 uint32_t *Storage; <a name="l00705"></a>00705 }; <a name="l00706"></a>00706 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPStorageIDs.html">_PTPStorageIDs</a> <a class="code" href="struct__PTPStorageIDs.html">PTPStorageIDs</a>; <a name="l00707"></a>00707 <a name="l00708"></a>00708 <span class="comment">/* PTP StorageInfo structure (returned by GetStorageInfo) */</span> <a name="l00709"></a><a class="code" href="struct__PTPStorageInfo.html">00709</a> <span class="keyword">struct </span><a class="code" href="struct__PTPStorageInfo.html">_PTPStorageInfo</a> { <a name="l00710"></a>00710 uint16_t StorageType; <a name="l00711"></a>00711 uint16_t FilesystemType; <a name="l00712"></a>00712 uint16_t AccessCapability; <a name="l00713"></a>00713 uint64_t MaxCapability; <a name="l00714"></a>00714 uint64_t FreeSpaceInBytes; <a name="l00715"></a>00715 uint32_t FreeSpaceInImages; <a name="l00716"></a>00716 <span class="keywordtype">char</span> *StorageDescription; <a name="l00717"></a>00717 <span class="keywordtype">char</span> *VolumeLabel; <a name="l00718"></a>00718 }; <a name="l00719"></a>00719 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPStorageInfo.html">_PTPStorageInfo</a> <a class="code" href="struct__PTPStorageInfo.html">PTPStorageInfo</a>; <a name="l00720"></a>00720 <a name="l00721"></a>00721 <span class="comment">/* PTP objecthandles structure (returned by GetObjectHandles) */</span> <a name="l00722"></a>00722 <a name="l00723"></a><a class="code" href="struct__PTPObjectHandles.html">00723</a> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectHandles.html">_PTPObjectHandles</a> { <a name="l00724"></a>00724 uint32_t n; <a name="l00725"></a>00725 uint32_t *Handler; <a name="l00726"></a>00726 }; <a name="l00727"></a>00727 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectHandles.html">_PTPObjectHandles</a> <a class="code" href="struct__PTPObjectHandles.html">PTPObjectHandles</a>; <a name="l00728"></a>00728 <a name="l00729"></a>00729 <span class="preprocessor">#define PTP_HANDLER_SPECIAL 0xffffffff</span> <a name="l00730"></a>00730 <span class="preprocessor"></span><span class="preprocessor">#define PTP_HANDLER_ROOT 0x00000000</span> <a name="l00731"></a>00731 <span class="preprocessor"></span> <a name="l00732"></a>00732 <a name="l00733"></a>00733 <span class="comment">/* PTP objectinfo structure (returned by GetObjectInfo) */</span> <a name="l00734"></a>00734 <a name="l00735"></a><a class="code" href="struct__PTPObjectInfo.html">00735</a> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectInfo.html">_PTPObjectInfo</a> { <a name="l00736"></a>00736 uint32_t StorageID; <a name="l00737"></a>00737 uint16_t ObjectFormat; <a name="l00738"></a>00738 uint16_t ProtectionStatus; <a name="l00739"></a>00739 uint32_t ObjectCompressedSize; <a name="l00740"></a>00740 uint16_t ThumbFormat; <a name="l00741"></a>00741 uint32_t ThumbCompressedSize; <a name="l00742"></a>00742 uint32_t ThumbPixWidth; <a name="l00743"></a>00743 uint32_t ThumbPixHeight; <a name="l00744"></a>00744 uint32_t ImagePixWidth; <a name="l00745"></a>00745 uint32_t ImagePixHeight; <a name="l00746"></a>00746 uint32_t ImageBitDepth; <a name="l00747"></a>00747 uint32_t ParentObject; <a name="l00748"></a>00748 uint16_t AssociationType; <a name="l00749"></a>00749 uint32_t AssociationDesc; <a name="l00750"></a>00750 uint32_t SequenceNumber; <a name="l00751"></a>00751 <span class="keywordtype">char</span> *Filename; <a name="l00752"></a>00752 time_t CaptureDate; <a name="l00753"></a>00753 time_t ModificationDate; <a name="l00754"></a>00754 <span class="keywordtype">char</span> *Keywords; <a name="l00755"></a>00755 }; <a name="l00756"></a>00756 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectInfo.html">_PTPObjectInfo</a> <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a>; <a name="l00757"></a>00757 <a name="l00758"></a>00758 <span class="comment">/* max ptp string length INCLUDING terminating null character */</span> <a name="l00759"></a>00759 <a name="l00760"></a>00760 <span class="preprocessor">#define PTP_MAXSTRLEN 255</span> <a name="l00761"></a>00761 <span class="preprocessor"></span> <a name="l00762"></a>00762 <span class="comment">/* PTP Object Format Codes */</span> <a name="l00763"></a>00763 <a name="l00764"></a>00764 <span class="comment">/* ancillary formats */</span> <a name="l00765"></a>00765 <span class="preprocessor">#define PTP_OFC_Undefined 0x3000</span> <a name="l00766"></a>00766 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Defined 0x3800</span> <a name="l00767"></a>00767 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Association 0x3001</span> <a name="l00768"></a>00768 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Script 0x3002</span> <a name="l00769"></a>00769 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Executable 0x3003</span> <a name="l00770"></a>00770 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Text 0x3004</span> <a name="l00771"></a>00771 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_HTML 0x3005</span> <a name="l00772"></a>00772 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_DPOF 0x3006</span> <a name="l00773"></a>00773 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_AIFF 0x3007</span> <a name="l00774"></a>00774 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_WAV 0x3008</span> <a name="l00775"></a>00775 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MP3 0x3009</span> <a name="l00776"></a>00776 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_AVI 0x300A</span> <a name="l00777"></a>00777 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MPEG 0x300B</span> <a name="l00778"></a>00778 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_ASF 0x300C</span> <a name="l00779"></a>00779 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_QT 0x300D </span><span class="comment">/* guessing */</span> <a name="l00780"></a>00780 <span class="comment">/* image formats */</span> <a name="l00781"></a>00781 <span class="preprocessor">#define PTP_OFC_EXIF_JPEG 0x3801</span> <a name="l00782"></a>00782 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_TIFF_EP 0x3802</span> <a name="l00783"></a>00783 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_FlashPix 0x3803</span> <a name="l00784"></a>00784 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_BMP 0x3804</span> <a name="l00785"></a>00785 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_CIFF 0x3805</span> <a name="l00786"></a>00786 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Undefined_0x3806 0x3806</span> <a name="l00787"></a>00787 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_GIF 0x3807</span> <a name="l00788"></a>00788 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_JFIF 0x3808</span> <a name="l00789"></a>00789 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_PCD 0x3809</span> <a name="l00790"></a>00790 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_PICT 0x380A</span> <a name="l00791"></a>00791 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_PNG 0x380B</span> <a name="l00792"></a>00792 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_Undefined_0x380C 0x380C</span> <a name="l00793"></a>00793 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_TIFF 0x380D</span> <a name="l00794"></a>00794 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_TIFF_IT 0x380E</span> <a name="l00795"></a>00795 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_JP2 0x380F</span> <a name="l00796"></a>00796 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_JPX 0x3810</span> <a name="l00797"></a>00797 <span class="preprocessor"></span><span class="comment">/* ptp v1.1 has only DNG new */</span> <a name="l00798"></a>00798 <span class="preprocessor">#define PTP_OFC_DNG 0x3811</span> <a name="l00799"></a>00799 <span class="preprocessor"></span><span class="comment">/* Eastman Kodak extension ancillary format */</span> <a name="l00800"></a>00800 <span class="preprocessor">#define PTP_OFC_EK_M3U 0xb002</span> <a name="l00801"></a>00801 <span class="preprocessor"></span><span class="comment">/* Canon extension */</span> <a name="l00802"></a>00802 <span class="preprocessor">#define PTP_OFC_CANON_CRW 0xb101</span> <a name="l00803"></a>00803 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_CANON_CRW3 0xb103</span> <a name="l00804"></a>00804 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_CANON_MOV 0xb104</span> <a name="l00805"></a>00805 <span class="preprocessor"></span><span class="comment">/* MTP extensions */</span> <a name="l00806"></a>00806 <span class="preprocessor">#define PTP_OFC_MTP_MediaCard 0xb211</span> <a name="l00807"></a>00807 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MediaCardGroup 0xb212</span> <a name="l00808"></a>00808 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_Encounter 0xb213</span> <a name="l00809"></a>00809 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_EncounterBox 0xb214</span> <a name="l00810"></a>00810 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_M4A 0xb215</span> <a name="l00811"></a>00811 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_ZUNEUNDEFINED 0xb217 </span><span class="comment">/* Unknown file type */</span> <a name="l00812"></a>00812 <span class="preprocessor">#define PTP_OFC_MTP_Firmware 0xb802</span> <a name="l00813"></a>00813 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_WindowsImageFormat 0xb881</span> <a name="l00814"></a>00814 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedAudio 0xb900</span> <a name="l00815"></a>00815 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_WMA 0xb901</span> <a name="l00816"></a>00816 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_OGG 0xb902</span> <a name="l00817"></a>00817 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AAC 0xb903</span> <a name="l00818"></a>00818 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AudibleCodec 0xb904</span> <a name="l00819"></a>00819 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_FLAC 0xb906</span> <a name="l00820"></a>00820 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedVideo 0xb980</span> <a name="l00821"></a>00821 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_WMV 0xb981</span> <a name="l00822"></a>00822 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MP4 0xb982</span> <a name="l00823"></a>00823 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MP2 0xb983</span> <a name="l00824"></a>00824 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_3GP 0xb984</span> <a name="l00825"></a>00825 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedCollection 0xba00</span> <a name="l00826"></a>00826 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractMultimediaAlbum 0xba01</span> <a name="l00827"></a>00827 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractImageAlbum 0xba02</span> <a name="l00828"></a>00828 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractAudioAlbum 0xba03</span> <a name="l00829"></a>00829 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractVideoAlbum 0xba04</span> <a name="l00830"></a>00830 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractAudioVideoPlaylist 0xba05</span> <a name="l00831"></a>00831 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractContactGroup 0xba06</span> <a name="l00832"></a>00832 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractMessageFolder 0xba07</span> <a name="l00833"></a>00833 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractChapteredProduction 0xba08</span> <a name="l00834"></a>00834 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractAudioPlaylist 0xba09</span> <a name="l00835"></a>00835 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractVideoPlaylist 0xba0a</span> <a name="l00836"></a>00836 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractMediacast 0xba0b</span> <a name="l00837"></a>00837 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_WPLPlaylist 0xba10</span> <a name="l00838"></a>00838 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_M3UPlaylist 0xba11</span> <a name="l00839"></a>00839 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MPLPlaylist 0xba12</span> <a name="l00840"></a>00840 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_ASXPlaylist 0xba13</span> <a name="l00841"></a>00841 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_PLSPlaylist 0xba14</span> <a name="l00842"></a>00842 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedDocument 0xba80</span> <a name="l00843"></a>00843 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractDocument 0xba81</span> <a name="l00844"></a>00844 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_XMLDocument 0xba82</span> <a name="l00845"></a>00845 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MSWordDocument 0xba83</span> <a name="l00846"></a>00846 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MHTCompiledHTMLDocument 0xba84</span> <a name="l00847"></a>00847 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MSExcelSpreadsheetXLS 0xba85</span> <a name="l00848"></a>00848 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MSPowerpointPresentationPPT 0xba86</span> <a name="l00849"></a>00849 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedMessage 0xbb00</span> <a name="l00850"></a>00850 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractMessage 0xbb01</span> <a name="l00851"></a>00851 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedContact 0xbb80</span> <a name="l00852"></a>00852 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractContact 0xbb81</span> <a name="l00853"></a>00853 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_vCard2 0xbb82</span> <a name="l00854"></a>00854 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_vCard3 0xbb83</span> <a name="l00855"></a>00855 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedCalendarItem 0xbe00</span> <a name="l00856"></a>00856 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_AbstractCalendarItem 0xbe01</span> <a name="l00857"></a>00857 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_vCalendar1 0xbe02</span> <a name="l00858"></a>00858 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_vCalendar2 0xbe03</span> <a name="l00859"></a>00859 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_UndefinedWindowsExecutable 0xbe80</span> <a name="l00860"></a>00860 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_MediaCast 0xbe81</span> <a name="l00861"></a>00861 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OFC_MTP_Section 0xbe82</span> <a name="l00862"></a>00862 <span class="preprocessor"></span> <a name="l00863"></a>00863 <span class="comment">/* PTP Association Types */</span> <a name="l00864"></a>00864 <span class="preprocessor">#define PTP_AT_Undefined 0x0000</span> <a name="l00865"></a>00865 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_GenericFolder 0x0001</span> <a name="l00866"></a>00866 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_Album 0x0002</span> <a name="l00867"></a>00867 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_TimeSequence 0x0003</span> <a name="l00868"></a>00868 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_HorizontalPanoramic 0x0004</span> <a name="l00869"></a>00869 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_VerticalPanoramic 0x0005</span> <a name="l00870"></a>00870 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_2DPanoramic 0x0006</span> <a name="l00871"></a>00871 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AT_AncillaryData 0x0007</span> <a name="l00872"></a>00872 <span class="preprocessor"></span> <a name="l00873"></a>00873 <span class="comment">/* PTP Protection Status */</span> <a name="l00874"></a>00874 <a name="l00875"></a>00875 <span class="preprocessor">#define PTP_PS_NoProtection 0x0000</span> <a name="l00876"></a>00876 <span class="preprocessor"></span><span class="preprocessor">#define PTP_PS_ReadOnly 0x0001</span> <a name="l00877"></a>00877 <span class="preprocessor"></span><span class="preprocessor">#define PTP_PS_MTP_ReadOnlyData 0x8002</span> <a name="l00878"></a>00878 <span class="preprocessor"></span><span class="preprocessor">#define PTP_PS_MTP_NonTransferableData 0x8003</span> <a name="l00879"></a>00879 <span class="preprocessor"></span> <a name="l00880"></a>00880 <span class="comment">/* PTP Storage Types */</span> <a name="l00881"></a>00881 <a name="l00882"></a>00882 <span class="preprocessor">#define PTP_ST_Undefined 0x0000</span> <a name="l00883"></a>00883 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ST_FixedROM 0x0001</span> <a name="l00884"></a>00884 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ST_RemovableROM 0x0002</span> <a name="l00885"></a>00885 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ST_FixedRAM 0x0003</span> <a name="l00886"></a>00886 <span class="preprocessor"></span><span class="preprocessor">#define PTP_ST_RemovableRAM 0x0004</span> <a name="l00887"></a>00887 <span class="preprocessor"></span> <a name="l00888"></a>00888 <span class="comment">/* PTP FilesystemType Values */</span> <a name="l00889"></a>00889 <a name="l00890"></a>00890 <span class="preprocessor">#define PTP_FST_Undefined 0x0000</span> <a name="l00891"></a>00891 <span class="preprocessor"></span><span class="preprocessor">#define PTP_FST_GenericFlat 0x0001</span> <a name="l00892"></a>00892 <span class="preprocessor"></span><span class="preprocessor">#define PTP_FST_GenericHierarchical 0x0002</span> <a name="l00893"></a>00893 <span class="preprocessor"></span><span class="preprocessor">#define PTP_FST_DCF 0x0003</span> <a name="l00894"></a>00894 <span class="preprocessor"></span> <a name="l00895"></a>00895 <span class="comment">/* PTP StorageInfo AccessCapability Values */</span> <a name="l00896"></a>00896 <a name="l00897"></a>00897 <span class="preprocessor">#define PTP_AC_ReadWrite 0x0000</span> <a name="l00898"></a>00898 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AC_ReadOnly 0x0001</span> <a name="l00899"></a>00899 <span class="preprocessor"></span><span class="preprocessor">#define PTP_AC_ReadOnly_with_Object_Deletion 0x0002</span> <a name="l00900"></a>00900 <span class="preprocessor"></span> <a name="l00901"></a>00901 <span class="comment">/* Property Describing Dataset, Range Form */</span> <a name="l00902"></a>00902 <a name="l00903"></a><a class="code" href="union__PTPPropertyValue.html">00903</a> <span class="keyword">union </span><a class="code" href="union__PTPPropertyValue.html">_PTPPropertyValue</a> { <a name="l00904"></a>00904 <span class="keywordtype">char</span> *str; <span class="comment">/* common string, malloced */</span> <a name="l00905"></a>00905 uint8_t u8; <a name="l00906"></a>00906 int8_t i8; <a name="l00907"></a>00907 uint16_t u16; <a name="l00908"></a>00908 int16_t i16; <a name="l00909"></a>00909 uint32_t u32; <a name="l00910"></a>00910 int32_t i32; <a name="l00911"></a>00911 uint64_t u64; <a name="l00912"></a>00912 int64_t i64; <a name="l00913"></a>00913 <span class="comment">/* XXXX: 128 bit signed and unsigned missing */</span> <a name="l00914"></a><a class="code" href="struct__PTPPropertyValue_1_1array.html">00914</a> <span class="keyword">struct </span><a class="code" href="struct__PTPPropertyValue_1_1array.html">array</a> { <a name="l00915"></a>00915 uint32_t count; <a name="l00916"></a>00916 <span class="keyword">union </span><a class="code" href="union__PTPPropertyValue.html">_PTPPropertyValue</a> *v; <span class="comment">/* malloced, count elements */</span> <a name="l00917"></a>00917 } a; <a name="l00918"></a>00918 }; <a name="l00919"></a>00919 <a name="l00920"></a>00920 <span class="keyword">typedef</span> <span class="keyword">union </span><a class="code" href="union__PTPPropertyValue.html">_PTPPropertyValue</a> <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a>; <a name="l00921"></a>00921 <a name="l00922"></a>00922 <span class="comment">/* Metadata lists for MTP operations */</span> <a name="l00923"></a><a class="code" href="struct__MTPProperties.html">00923</a> <span class="keyword">struct </span><a class="code" href="struct__MTPProperties.html">_MTPProperties</a> { <a name="l00924"></a>00924 uint16_t property; <a name="l00925"></a>00925 uint16_t datatype; <a name="l00926"></a>00926 uint32_t ObjectHandle; <a name="l00927"></a>00927 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> propval; <a name="l00928"></a>00928 }; <a name="l00929"></a>00929 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__MTPProperties.html">_MTPProperties</a> <a class="code" href="struct__MTPProperties.html">MTPProperties</a>; <a name="l00930"></a>00930 <a name="l00931"></a><a class="code" href="struct__PTPPropDescRangeForm.html">00931</a> <span class="keyword">struct </span><a class="code" href="struct__PTPPropDescRangeForm.html">_PTPPropDescRangeForm</a> { <a name="l00932"></a>00932 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> MinimumValue; <a name="l00933"></a>00933 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> MaximumValue; <a name="l00934"></a>00934 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> StepSize; <a name="l00935"></a>00935 }; <a name="l00936"></a>00936 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPPropDescRangeForm.html">_PTPPropDescRangeForm</a> <a class="code" href="struct__PTPPropDescRangeForm.html">PTPPropDescRangeForm</a>; <a name="l00937"></a>00937 <a name="l00938"></a>00938 <span class="comment">/* Property Describing Dataset, Enum Form */</span> <a name="l00939"></a>00939 <a name="l00940"></a><a class="code" href="struct__PTPPropDescEnumForm.html">00940</a> <span class="keyword">struct </span><a class="code" href="struct__PTPPropDescEnumForm.html">_PTPPropDescEnumForm</a> { <a name="l00941"></a>00941 uint16_t NumberOfValues; <a name="l00942"></a>00942 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> *SupportedValue; <span class="comment">/* malloced */</span> <a name="l00943"></a>00943 }; <a name="l00944"></a>00944 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPPropDescEnumForm.html">_PTPPropDescEnumForm</a> <a class="code" href="struct__PTPPropDescEnumForm.html">PTPPropDescEnumForm</a>; <a name="l00945"></a>00945 <a name="l00946"></a>00946 <span class="comment">/* Device Property Describing Dataset (DevicePropDesc) */</span> <a name="l00947"></a>00947 <a name="l00948"></a><a class="code" href="struct__PTPDevicePropDesc.html">00948</a> <span class="keyword">struct </span><a class="code" href="struct__PTPDevicePropDesc.html">_PTPDevicePropDesc</a> { <a name="l00949"></a>00949 uint16_t DevicePropertyCode; <a name="l00950"></a>00950 uint16_t DataType; <a name="l00951"></a>00951 uint8_t GetSet; <a name="l00952"></a>00952 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> FactoryDefaultValue; <a name="l00953"></a>00953 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> CurrentValue; <a name="l00954"></a>00954 uint8_t FormFlag; <a name="l00955"></a>00955 <span class="keyword">union </span>{ <a name="l00956"></a>00956 <a class="code" href="struct__PTPPropDescEnumForm.html">PTPPropDescEnumForm</a> Enum; <a name="l00957"></a>00957 <a class="code" href="struct__PTPPropDescRangeForm.html">PTPPropDescRangeForm</a> Range; <a name="l00958"></a>00958 } FORM; <a name="l00959"></a>00959 }; <a name="l00960"></a>00960 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPDevicePropDesc.html">_PTPDevicePropDesc</a> <a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a>; <a name="l00961"></a>00961 <a name="l00962"></a>00962 <span class="comment">/* Object Property Describing Dataset (DevicePropDesc) */</span> <a name="l00963"></a>00963 <a name="l00964"></a><a class="code" href="struct__PTPObjectPropDesc.html">00964</a> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectPropDesc.html">_PTPObjectPropDesc</a> { <a name="l00965"></a>00965 uint16_t ObjectPropertyCode; <a name="l00966"></a>00966 uint16_t DataType; <a name="l00967"></a>00967 uint8_t GetSet; <a name="l00968"></a>00968 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> FactoryDefaultValue; <a name="l00969"></a>00969 uint32_t GroupCode; <a name="l00970"></a>00970 uint8_t FormFlag; <a name="l00971"></a>00971 <span class="keyword">union </span>{ <a name="l00972"></a>00972 <a class="code" href="struct__PTPPropDescEnumForm.html">PTPPropDescEnumForm</a> Enum; <a name="l00973"></a>00973 <a class="code" href="struct__PTPPropDescRangeForm.html">PTPPropDescRangeForm</a> Range; <a name="l00974"></a>00974 } FORM; <a name="l00975"></a>00975 }; <a name="l00976"></a>00976 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPObjectPropDesc.html">_PTPObjectPropDesc</a> <a class="code" href="struct__PTPObjectPropDesc.html">PTPObjectPropDesc</a>; <a name="l00977"></a>00977 <a name="l00978"></a>00978 <span class="comment">/* Canon filesystem's folder entry Dataset */</span> <a name="l00979"></a>00979 <a name="l00980"></a>00980 <span class="preprocessor">#define PTP_CANON_FilenameBufferLen 13</span> <a name="l00981"></a>00981 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_FolderEntryLen 28</span> <a name="l00982"></a>00982 <span class="preprocessor"></span> <a name="l00983"></a><a class="code" href="struct__PTPCANONFolderEntry.html">00983</a> <span class="keyword">struct </span><a class="code" href="struct__PTPCANONFolderEntry.html">_PTPCANONFolderEntry</a> { <a name="l00984"></a>00984 uint32_t ObjectHandle; <a name="l00985"></a>00985 uint16_t ObjectFormatCode; <a name="l00986"></a>00986 uint8_t Flags; <a name="l00987"></a>00987 uint32_t ObjectSize; <a name="l00988"></a>00988 time_t Time; <a name="l00989"></a>00989 <span class="keywordtype">char</span> Filename[PTP_CANON_FilenameBufferLen]; <a name="l00990"></a>00990 }; <a name="l00991"></a>00991 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPCANONFolderEntry.html">_PTPCANONFolderEntry</a> <a class="code" href="struct__PTPCANONFolderEntry.html">PTPCANONFolderEntry</a>; <a name="l00992"></a>00992 <a name="l00993"></a>00993 <span class="comment">/* Nikon Tone Curve Data */</span> <a name="l00994"></a>00994 <a name="l00995"></a>00995 <span class="preprocessor">#define PTP_NIKON_MaxCurvePoints 19</span> <a name="l00996"></a>00996 <span class="preprocessor"></span> <a name="l00997"></a><a class="code" href="struct__PTPNIKONCoordinatePair.html">00997</a> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONCoordinatePair.html">_PTPNIKONCoordinatePair</a> { <a name="l00998"></a>00998 uint8_t X; <a name="l00999"></a>00999 uint8_t Y; <a name="l01000"></a>01000 }; <a name="l01001"></a>01001 <a name="l01002"></a>01002 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONCoordinatePair.html">_PTPNIKONCoordinatePair</a> <a class="code" href="struct__PTPNIKONCoordinatePair.html">PTPNIKONCoordinatePair</a>; <a name="l01003"></a>01003 <a name="l01004"></a><a class="code" href="struct__PTPNTCCoordinatePair.html">01004</a> <span class="keyword">struct </span><a class="code" href="struct__PTPNTCCoordinatePair.html">_PTPNTCCoordinatePair</a> { <a name="l01005"></a>01005 uint8_t X; <a name="l01006"></a>01006 uint8_t Y; <a name="l01007"></a>01007 }; <a name="l01008"></a>01008 <a name="l01009"></a>01009 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPNTCCoordinatePair.html">_PTPNTCCoordinatePair</a> <a class="code" href="struct__PTPNTCCoordinatePair.html">PTPNTCCoordinatePair</a>; <a name="l01010"></a>01010 <a name="l01011"></a><a class="code" href="struct__PTPNIKONCurveData.html">01011</a> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONCurveData.html">_PTPNIKONCurveData</a> { <a name="l01012"></a>01012 <span class="keywordtype">char</span> static_preamble[6]; <a name="l01013"></a>01013 uint8_t XAxisStartPoint; <a name="l01014"></a>01014 uint8_t XAxisEndPoint; <a name="l01015"></a>01015 uint8_t YAxisStartPoint; <a name="l01016"></a>01016 uint8_t YAxisEndPoint; <a name="l01017"></a>01017 uint8_t MidPointIntegerPart; <a name="l01018"></a>01018 uint8_t MidPointDecimalPart; <a name="l01019"></a>01019 uint8_t NCoordinates; <a name="l01020"></a>01020 <a class="code" href="struct__PTPNIKONCoordinatePair.html">PTPNIKONCoordinatePair</a> CurveCoordinates[PTP_NIKON_MaxCurvePoints]; <a name="l01021"></a>01021 }; <a name="l01022"></a>01022 <a name="l01023"></a>01023 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONCurveData.html">_PTPNIKONCurveData</a> <a class="code" href="struct__PTPNIKONCurveData.html">PTPNIKONCurveData</a>; <a name="l01024"></a>01024 <a name="l01025"></a><a class="code" href="struct__PTPEKTextParams.html">01025</a> <span class="keyword">struct </span><a class="code" href="struct__PTPEKTextParams.html">_PTPEKTextParams</a> { <a name="l01026"></a>01026 <span class="keywordtype">char</span> *title; <a name="l01027"></a>01027 <span class="keywordtype">char</span> *line[5]; <a name="l01028"></a>01028 }; <a name="l01029"></a>01029 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPEKTextParams.html">_PTPEKTextParams</a> <a class="code" href="struct__PTPEKTextParams.html">PTPEKTextParams</a>; <a name="l01030"></a>01030 <a name="l01031"></a>01031 <span class="comment">/* Nikon Wifi profiles */</span> <a name="l01032"></a>01032 <a name="l01033"></a><a class="code" href="struct__PTPNIKONWifiProfile.html">01033</a> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONWifiProfile.html">_PTPNIKONWifiProfile</a> { <a name="l01034"></a>01034 <span class="comment">/* Values valid both when reading and writing profiles */</span> <a name="l01035"></a>01035 <span class="keywordtype">char</span> profile_name[17]; <a name="l01036"></a>01036 uint8_t device_type; <a name="l01037"></a>01037 uint8_t icon_type; <a name="l01038"></a>01038 <span class="keywordtype">char</span> essid[33]; <a name="l01039"></a>01039 <a name="l01040"></a>01040 <span class="comment">/* Values only valid when reading. Some of these are in the write packet,</span> <a name="l01041"></a>01041 <span class="comment"> * but are set automatically, like id, display_order and creation_date. */</span> <a name="l01042"></a>01042 uint8_t id; <a name="l01043"></a>01043 uint8_t valid; <a name="l01044"></a>01044 uint8_t display_order; <a name="l01045"></a>01045 <span class="keywordtype">char</span> creation_date[16]; <a name="l01046"></a>01046 <span class="keywordtype">char</span> lastusage_date[16]; <a name="l01047"></a>01047 <a name="l01048"></a>01048 <span class="comment">/* Values only valid when writing */</span> <a name="l01049"></a>01049 uint32_t ip_address; <a name="l01050"></a>01050 uint8_t subnet_mask; <span class="comment">/* first zero bit position, e.g. 24 for 255.255.255.0 */</span> <a name="l01051"></a>01051 uint32_t gateway_address; <a name="l01052"></a>01052 uint8_t address_mode; <span class="comment">/* 0 - Manual, 2-3 - DHCP ad-hoc/managed*/</span> <a name="l01053"></a>01053 uint8_t access_mode; <span class="comment">/* 0 - Managed, 1 - Adhoc */</span> <a name="l01054"></a>01054 uint8_t wifi_channel; <span class="comment">/* 1-11 */</span> <a name="l01055"></a>01055 uint8_t authentification; <span class="comment">/* 0 - Open, 1 - Shared, 2 - WPA-PSK */</span> <a name="l01056"></a>01056 uint8_t encryption; <span class="comment">/* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not supported: 3 - TKIP) */</span> <a name="l01057"></a>01057 uint8_t key[64]; <a name="l01058"></a>01058 uint8_t key_nr; <a name="l01059"></a>01059 <span class="comment">// char guid[16];</span> <a name="l01060"></a>01060 }; <a name="l01061"></a>01061 <a name="l01062"></a>01062 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPNIKONWifiProfile.html">_PTPNIKONWifiProfile</a> <a class="code" href="struct__PTPNIKONWifiProfile.html">PTPNIKONWifiProfile</a>; <a name="l01063"></a>01063 <a name="l01064"></a>01064 <span class="preprocessor">#define PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN 0</span> <a name="l01065"></a>01065 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO 1</span> <a name="l01066"></a>01066 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER 2</span> <a name="l01067"></a>01067 <span class="preprocessor"></span> <a name="l01068"></a><a class="code" href="struct__PTPCanon__New__Object.html">01068</a> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__New__Object.html">_PTPCanon_New_Object</a> { <a name="l01069"></a>01069 uint32_t oid; <a name="l01070"></a>01070 <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a> oi; <a name="l01071"></a>01071 }; <a name="l01072"></a>01072 <a name="l01073"></a><a class="code" href="struct__PTPCanon__changes__entry.html">01073</a> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__changes__entry.html">_PTPCanon_changes_entry</a> { <a name="l01074"></a>01074 <span class="keywordtype">int</span> type; <a name="l01075"></a>01075 <span class="keyword">union </span>{ <a name="l01076"></a>01076 <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__New__Object.html">_PTPCanon_New_Object</a> object; <span class="comment">/* TYPE_OBJECTINFO */</span> <a name="l01077"></a>01077 } u; <a name="l01078"></a>01078 }; <a name="l01079"></a>01079 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__changes__entry.html">_PTPCanon_changes_entry</a> <a class="code" href="struct__PTPCanon__changes__entry.html">PTPCanon_changes_entry</a>; <a name="l01080"></a>01080 <a name="l01081"></a><a class="code" href="struct__PTPCanon__Property.html">01081</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPCanon__Property.html">_PTPCanon_Property</a> { <a name="l01082"></a>01082 uint32_t size; <a name="l01083"></a>01083 uint32_t type; <a name="l01084"></a>01084 uint32_t proptype; <a name="l01085"></a>01085 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data; <a name="l01086"></a>01086 <a name="l01087"></a>01087 <span class="comment">/* fill out for queries */</span> <a name="l01088"></a>01088 <a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a> dpd; <a name="l01089"></a>01089 } <a class="code" href="struct__PTPCanon__Property.html">PTPCanon_Property</a>; <a name="l01090"></a>01090 <a name="l01091"></a><a class="code" href="struct__PTPCanonEOSDeviceInfo.html">01091</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPCanonEOSDeviceInfo.html">_PTPCanonEOSDeviceInfo</a> { <a name="l01092"></a>01092 <span class="comment">/* length */</span> <a name="l01093"></a>01093 uint32_t EventsSupported_len; <a name="l01094"></a>01094 uint32_t *EventsSupported; <a name="l01095"></a>01095 <a name="l01096"></a>01096 uint32_t DevicePropertiesSupported_len; <a name="l01097"></a>01097 uint32_t *DevicePropertiesSupported; <a name="l01098"></a>01098 <a name="l01099"></a>01099 uint32_t unk_len; <a name="l01100"></a>01100 uint32_t *unk; <a name="l01101"></a>01101 } <a class="code" href="struct__PTPCanonEOSDeviceInfo.html">PTPCanonEOSDeviceInfo</a>; <a name="l01102"></a>01102 <a name="l01103"></a>01103 <span class="comment">/* DataType Codes */</span> <a name="l01104"></a>01104 <a name="l01105"></a>01105 <span class="preprocessor">#define PTP_DTC_UNDEF 0x0000</span> <a name="l01106"></a>01106 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_INT8 0x0001</span> <a name="l01107"></a>01107 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_UINT8 0x0002</span> <a name="l01108"></a>01108 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_INT16 0x0003</span> <a name="l01109"></a>01109 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_UINT16 0x0004</span> <a name="l01110"></a>01110 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_INT32 0x0005</span> <a name="l01111"></a>01111 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_UINT32 0x0006</span> <a name="l01112"></a>01112 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_INT64 0x0007</span> <a name="l01113"></a>01113 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_UINT64 0x0008</span> <a name="l01114"></a>01114 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_INT128 0x0009</span> <a name="l01115"></a>01115 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_UINT128 0x000A</span> <a name="l01116"></a>01116 <span class="preprocessor"></span> <a name="l01117"></a>01117 <span class="preprocessor">#define PTP_DTC_ARRAY_MASK 0x4000</span> <a name="l01118"></a>01118 <span class="preprocessor"></span> <a name="l01119"></a>01119 <span class="preprocessor">#define PTP_DTC_AINT8 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT8)</span> <a name="l01120"></a>01120 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AUINT8 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT8)</span> <a name="l01121"></a>01121 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AINT16 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT16)</span> <a name="l01122"></a>01122 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AUINT16 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT16)</span> <a name="l01123"></a>01123 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AINT32 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT32)</span> <a name="l01124"></a>01124 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AUINT32 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT32)</span> <a name="l01125"></a>01125 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AINT64 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT64)</span> <a name="l01126"></a>01126 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AUINT64 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT64)</span> <a name="l01127"></a>01127 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AINT128 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT128)</span> <a name="l01128"></a>01128 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DTC_AUINT128 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT128)</span> <a name="l01129"></a>01129 <span class="preprocessor"></span> <a name="l01130"></a>01130 <span class="preprocessor">#define PTP_DTC_STR 0xFFFF</span> <a name="l01131"></a>01131 <span class="preprocessor"></span> <a name="l01132"></a>01132 <span class="comment">/* Device Properties Codes */</span> <a name="l01133"></a>01133 <a name="l01134"></a>01134 <span class="comment">/* PTP v1.0 property codes */</span> <a name="l01135"></a>01135 <span class="preprocessor">#define PTP_DPC_Undefined 0x5000</span> <a name="l01136"></a>01136 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_BatteryLevel 0x5001</span> <a name="l01137"></a>01137 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FunctionalMode 0x5002</span> <a name="l01138"></a>01138 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ImageSize 0x5003</span> <a name="l01139"></a>01139 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CompressionSetting 0x5004</span> <a name="l01140"></a>01140 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_WhiteBalance 0x5005</span> <a name="l01141"></a>01141 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_RGBGain 0x5006</span> <a name="l01142"></a>01142 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FNumber 0x5007</span> <a name="l01143"></a>01143 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FocalLength 0x5008</span> <a name="l01144"></a>01144 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FocusDistance 0x5009</span> <a name="l01145"></a>01145 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FocusMode 0x500A</span> <a name="l01146"></a>01146 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ExposureMeteringMode 0x500B</span> <a name="l01147"></a>01147 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FlashMode 0x500C</span> <a name="l01148"></a>01148 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ExposureTime 0x500D</span> <a name="l01149"></a>01149 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ExposureProgramMode 0x500E</span> <a name="l01150"></a>01150 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ExposureIndex 0x500F</span> <a name="l01151"></a>01151 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_ExposureBiasCompensation 0x5010</span> <a name="l01152"></a>01152 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_DateTime 0x5011</span> <a name="l01153"></a>01153 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CaptureDelay 0x5012</span> <a name="l01154"></a>01154 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_StillCaptureMode 0x5013</span> <a name="l01155"></a>01155 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_Contrast 0x5014</span> <a name="l01156"></a>01156 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_Sharpness 0x5015</span> <a name="l01157"></a>01157 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_DigitalZoom 0x5016</span> <a name="l01158"></a>01158 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EffectMode 0x5017</span> <a name="l01159"></a>01159 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_BurstNumber 0x5018</span> <a name="l01160"></a>01160 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_BurstInterval 0x5019</span> <a name="l01161"></a>01161 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_TimelapseNumber 0x501A</span> <a name="l01162"></a>01162 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_TimelapseInterval 0x501B</span> <a name="l01163"></a>01163 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FocusMeteringMode 0x501C</span> <a name="l01164"></a>01164 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_UploadURL 0x501D</span> <a name="l01165"></a>01165 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_Artist 0x501E</span> <a name="l01166"></a>01166 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CopyrightInfo 0x501F</span> <a name="l01167"></a>01167 <span class="preprocessor"></span><span class="comment">/* PTP v1.1 property codes */</span> <a name="l01168"></a>01168 <span class="preprocessor">#define PTP_DPC_SupportedStreams 0x5020</span> <a name="l01169"></a>01169 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EnabledStreams 0x5021</span> <a name="l01170"></a>01170 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoFormat 0x5022</span> <a name="l01171"></a>01171 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoResolution 0x5023</span> <a name="l01172"></a>01172 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoQuality 0x5024</span> <a name="l01173"></a>01173 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoFrameRate 0x5025</span> <a name="l01174"></a>01174 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoContrast 0x5026</span> <a name="l01175"></a>01175 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_VideoBrightness 0x5027</span> <a name="l01176"></a>01176 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_AudioFormat 0x5028</span> <a name="l01177"></a>01177 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_AudioBitrate 0x5029</span> <a name="l01178"></a>01178 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_AudioSamplingRate 0x502A</span> <a name="l01179"></a>01179 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_AudioBitPerSample 0x502B</span> <a name="l01180"></a>01180 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_AudioVolume 0x502C</span> <a name="l01181"></a>01181 <span class="preprocessor"></span> <a name="l01182"></a>01182 <span class="comment">/* Proprietary vendor extension device property mask */</span> <a name="l01183"></a>01183 <span class="preprocessor">#define PTP_DPC_EXTENSION_MASK 0xF000</span> <a name="l01184"></a>01184 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EXTENSION 0xD000</span> <a name="l01185"></a>01185 <span class="preprocessor"></span> <a name="l01186"></a>01186 <span class="comment">/* Zune extension device property codes */</span> <a name="l01187"></a>01187 <span class="preprocessor">#define PTP_DPC_MTP_ZUNE_UNKNOWN1 0xD181</span> <a name="l01188"></a>01188 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_ZUNE_UNKNOWN2 0xD132</span> <a name="l01189"></a>01189 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_ZUNE_UNKNOWN3 0xD215</span> <a name="l01190"></a>01190 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_ZUNE_UNKNOWN4 0xD216</span> <a name="l01191"></a>01191 <span class="preprocessor"></span> <a name="l01192"></a>01192 <span class="comment">/* Eastman Kodak extension device property codes */</span> <a name="l01193"></a>01193 <span class="preprocessor">#define PTP_DPC_EK_ColorTemperature 0xD001</span> <a name="l01194"></a>01194 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EK_DateTimeStampFormat 0xD002</span> <a name="l01195"></a>01195 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EK_BeepMode 0xD003</span> <a name="l01196"></a>01196 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EK_VideoOut 0xD004</span> <a name="l01197"></a>01197 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EK_PowerSaving 0xD005</span> <a name="l01198"></a>01198 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_EK_UI_Language 0xD006</span> <a name="l01199"></a>01199 <span class="preprocessor"></span> <a name="l01200"></a>01200 <span class="comment">/* Canon extension device property codes */</span> <a name="l01201"></a>01201 <span class="preprocessor">#define PTP_DPC_CANON_BeepMode 0xD001</span> <a name="l01202"></a>01202 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_BatteryKind 0xD002</span> <a name="l01203"></a>01203 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_BatteryStatus 0xD003</span> <a name="l01204"></a>01204 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_UILockType 0xD004</span> <a name="l01205"></a>01205 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CameraMode 0xD005</span> <a name="l01206"></a>01206 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ImageQuality 0xD006</span> <a name="l01207"></a>01207 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FullViewFileFormat 0xD007</span> <a name="l01208"></a>01208 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ImageSize 0xD008</span> <a name="l01209"></a>01209 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SelfTime 0xD009</span> <a name="l01210"></a>01210 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FlashMode 0xD00A</span> <a name="l01211"></a>01211 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_Beep 0xD00B</span> <a name="l01212"></a>01212 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ShootingMode 0xD00C</span> <a name="l01213"></a>01213 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ImageMode 0xD00D</span> <a name="l01214"></a>01214 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_DriveMode 0xD00E</span> <a name="l01215"></a>01215 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EZoom 0xD00F</span> <a name="l01216"></a>01216 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_MeteringMode 0xD010</span> <a name="l01217"></a>01217 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AFDistance 0xD011</span> <a name="l01218"></a>01218 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocusingPoint 0xD012</span> <a name="l01219"></a>01219 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_WhiteBalance 0xD013</span> <a name="l01220"></a>01220 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SlowShutterSetting 0xD014</span> <a name="l01221"></a>01221 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AFMode 0xD015</span> <a name="l01222"></a>01222 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ImageStabilization 0xD016</span> <a name="l01223"></a>01223 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_Contrast 0xD017</span> <a name="l01224"></a>01224 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ColorGain 0xD018</span> <a name="l01225"></a>01225 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_Sharpness 0xD019</span> <a name="l01226"></a>01226 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_Sensitivity 0xD01A</span> <a name="l01227"></a>01227 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ParameterSet 0xD01B</span> <a name="l01228"></a>01228 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ISOSpeed 0xD01C</span> <a name="l01229"></a>01229 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_Aperture 0xD01D</span> <a name="l01230"></a>01230 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ShutterSpeed 0xD01E</span> <a name="l01231"></a>01231 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ExpCompensation 0xD01F</span> <a name="l01232"></a>01232 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FlashCompensation 0xD020</span> <a name="l01233"></a>01233 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AEBExposureCompensation 0xD021</span> <a name="l01234"></a>01234 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AvOpen 0xD023</span> <a name="l01235"></a>01235 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AvMax 0xD024</span> <a name="l01236"></a>01236 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocalLength 0xD025</span> <a name="l01237"></a>01237 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocalLengthTele 0xD026</span> <a name="l01238"></a>01238 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocalLengthWide 0xD027</span> <a name="l01239"></a>01239 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocalLengthDenominator 0xD028</span> <a name="l01240"></a>01240 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CaptureTransferMode 0xD029</span> <a name="l01241"></a>01241 <span class="preprocessor"></span><span class="preprocessor">#define CANON_TRANSFER_ENTIRE_IMAGE_TO_PC 0x0002</span> <a name="l01242"></a>01242 <span class="preprocessor"></span><span class="preprocessor">#define CANON_TRANSFER_SAVE_THUMBNAIL_TO_DEVICE 0x0004</span> <a name="l01243"></a>01243 <span class="preprocessor"></span><span class="preprocessor">#define CANON_TRANSFER_SAVE_IMAGE_TO_DEVICE 0x0008</span> <a name="l01244"></a>01244 <span class="preprocessor"></span><span class="comment">/* we use those values: */</span> <a name="l01245"></a>01245 <span class="preprocessor">#define CANON_TRANSFER_MEMORY (2|1)</span> <a name="l01246"></a>01246 <span class="preprocessor"></span><span class="preprocessor">#define CANON_TRANSFER_CARD (8|4|1)</span> <a name="l01247"></a>01247 <span class="preprocessor"></span> <a name="l01248"></a>01248 <span class="preprocessor">#define PTP_DPC_CANON_Zoom 0xD02A</span> <a name="l01249"></a>01249 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_NamePrefix 0xD02B</span> <a name="l01250"></a>01250 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SizeQualityMode 0xD02C</span> <a name="l01251"></a>01251 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SupportedThumbSize 0xD02D</span> <a name="l01252"></a>01252 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SizeOfOutputDataFromCamera 0xD02E</span> <a name="l01253"></a>01253 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_SizeOfInputDataToCamera 0xD02F</span> <a name="l01254"></a>01254 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_RemoteAPIVersion 0xD030</span> <a name="l01255"></a>01255 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FirmwareVersion 0xD031</span> <a name="l01256"></a>01256 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CameraModel 0xD032</span> <a name="l01257"></a>01257 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CameraOwner 0xD033</span> <a name="l01258"></a>01258 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_UnixTime 0xD034</span> <a name="l01259"></a>01259 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CameraBodyID 0xD035</span> <a name="l01260"></a>01260 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_CameraOutput 0xD036</span> <a name="l01261"></a>01261 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_DispAv 0xD037</span> <a name="l01262"></a>01262 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AvOpenApex 0xD038</span> <a name="l01263"></a>01263 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_DZoomMagnification 0xD039</span> <a name="l01264"></a>01264 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_MlSpotPos 0xD03A</span> <a name="l01265"></a>01265 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_DispAvMax 0xD03B</span> <a name="l01266"></a>01266 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AvMaxApex 0xD03C</span> <a name="l01267"></a>01267 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EZoomStartPosition 0xD03D</span> <a name="l01268"></a>01268 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FocalLengthOfTele 0xD03E</span> <a name="l01269"></a>01269 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EZoomSizeOfTele 0xD03F</span> <a name="l01270"></a>01270 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_PhotoEffect 0xD040</span> <a name="l01271"></a>01271 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AssistLight 0xD041</span> <a name="l01272"></a>01272 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_FlashQuantityCount 0xD042</span> <a name="l01273"></a>01273 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_RotationAngle 0xD043</span> <a name="l01274"></a>01274 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_RotationScene 0xD044</span> <a name="l01275"></a>01275 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EventEmulateMode 0xD045</span> <a name="l01276"></a>01276 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_DPOFVersion 0xD046</span> <a name="l01277"></a>01277 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_TypeOfSupportedSlideShow 0xD047</span> <a name="l01278"></a>01278 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_AverageFilesizes 0xD048</span> <a name="l01279"></a>01279 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_ModelID 0xD049</span> <a name="l01280"></a>01280 <span class="preprocessor"></span> <a name="l01281"></a>01281 <span class="comment">/* From EOS 400D trace. */</span> <a name="l01282"></a>01282 <span class="preprocessor">#define PTP_DPC_CANON_EOS_Aperture 0xD101</span> <a name="l01283"></a>01283 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102</span> <a name="l01284"></a>01284 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ISOSpeed 0xD103</span> <a name="l01285"></a>01285 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ExpCompensation 0xD104</span> <a name="l01286"></a>01286 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105</span> <a name="l01287"></a>01287 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_DriveMode 0xD106</span> <a name="l01288"></a>01288 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_MeteringMode 0xD107 </span> <a name="l01289"></a>01289 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_FocusMode 0xD108</span> <a name="l01290"></a>01290 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WhiteBalance 0xD109</span> <a name="l01291"></a>01291 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A</span> <a name="l01292"></a>01292 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B</span> <a name="l01293"></a>01293 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C</span> <a name="l01294"></a>01294 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D</span> <a name="l01295"></a>01295 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E</span> <a name="l01296"></a>01296 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ColorSpace 0xD10F</span> <a name="l01297"></a>01297 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyle 0xD110</span> <a name="l01298"></a>01298 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_BatteryPower 0xD111</span> <a name="l01299"></a>01299 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_BatterySelect 0xD112</span> <a name="l01300"></a>01300 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CameraTime 0xD113</span> <a name="l01301"></a>01301 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_Owner 0xD115</span> <a name="l01302"></a>01302 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ModelID 0xD116</span> <a name="l01303"></a>01303 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119</span> <a name="l01304"></a>01304 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A</span> <a name="l01305"></a>01305 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_AvailableShots 0xD11B</span> <a name="l01306"></a>01306 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_EOS_CAPTUREDEST_HD 4</span> <a name="l01307"></a>01307 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C</span> <a name="l01308"></a>01308 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_BracketMode 0xD11D</span> <a name="l01309"></a>01309 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E</span> <a name="l01310"></a>01310 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F</span> <a name="l01311"></a>01311 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ImageFormat 0xD120 </span><span class="comment">/* file setting */</span> <a name="l01312"></a>01312 <span class="preprocessor">#define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 </span><span class="comment">/* file setting CF */</span> <a name="l01313"></a>01313 <span class="preprocessor">#define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 </span><span class="comment">/* file setting SD */</span> <a name="l01314"></a>01314 <span class="preprocessor">#define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 </span><span class="comment">/* file setting exthd */</span> <a name="l01315"></a>01315 <span class="preprocessor">#define PTP_DPC_CANON_EOS_CompressionS 0xD130</span> <a name="l01316"></a>01316 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CompressionM1 0xD131</span> <a name="l01317"></a>01317 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CompressionM2 0xD132</span> <a name="l01318"></a>01318 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CompressionL 0xD133</span> <a name="l01319"></a>01319 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140</span> <a name="l01320"></a>01320 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141</span> <a name="l01321"></a>01321 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142</span> <a name="l01322"></a>01322 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143</span> <a name="l01323"></a>01323 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144</span> <a name="l01324"></a>01324 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_MWhiteBalance 0xD145</span> <a name="l01325"></a>01325 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150</span> <a name="l01326"></a>01326 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151</span> <a name="l01327"></a>01327 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152</span> <a name="l01328"></a>01328 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153</span> <a name="l01329"></a>01329 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154</span> <a name="l01330"></a>01330 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155</span> <a name="l01331"></a>01331 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160</span> <a name="l01332"></a>01332 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161</span> <a name="l01333"></a>01333 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162</span> <a name="l01334"></a>01334 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170</span> <a name="l01335"></a>01335 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171</span> <a name="l01336"></a>01336 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172</span> <a name="l01337"></a>01337 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_FlavorLUTParams 0xD17f</span> <a name="l01338"></a>01338 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc1 0xD180</span> <a name="l01339"></a>01339 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc2 0xD181</span> <a name="l01340"></a>01340 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc3 0xD182</span> <a name="l01341"></a>01341 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc4 0xD183</span> <a name="l01342"></a>01342 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc5 0xD184</span> <a name="l01343"></a>01343 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc6 0xD185</span> <a name="l01344"></a>01344 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc7 0xD186</span> <a name="l01345"></a>01345 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc8 0xD187</span> <a name="l01346"></a>01346 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc9 0xD188</span> <a name="l01347"></a>01347 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc10 0xD189</span> <a name="l01348"></a>01348 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a</span> <a name="l01349"></a>01349 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b</span> <a name="l01350"></a>01350 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c</span> <a name="l01351"></a>01351 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d</span> <a name="l01352"></a>01352 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e</span> <a name="l01353"></a>01353 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f</span> <a name="l01354"></a>01354 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc17 0xD190</span> <a name="l01355"></a>01355 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc18 0xD191</span> <a name="l01356"></a>01356 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc19 0xD192</span> <a name="l01357"></a>01357 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFunc19 0xD192</span> <a name="l01358"></a>01358 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0</span> <a name="l01359"></a>01359 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_MyMenu 0xD1a1</span> <a name="l01360"></a>01360 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2</span> <a name="l01361"></a>01361 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WftStatus 0xD1a3</span> <a name="l01362"></a>01362 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4</span> <a name="l01363"></a>01363 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5</span> <a name="l01364"></a>01364 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6</span> <a name="l01365"></a>01365 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7</span> <a name="l01366"></a>01366 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LensStatus 0xD1a8</span> <a name="l01367"></a>01367 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9</span> <a name="l01368"></a>01368 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_CardExtension 0xD1aa</span> <a name="l01369"></a>01369 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_TempStatus 0xD1ab</span> <a name="l01370"></a>01370 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac</span> <a name="l01371"></a>01371 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad</span> <a name="l01372"></a>01372 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae</span> <a name="l01373"></a>01373 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_SerialNumber 0xD1af</span> <a name="l01374"></a>01374 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0</span> <a name="l01375"></a>01375 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFMode 0xD1b1</span> <a name="l01376"></a>01376 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2</span> <a name="l01377"></a>01377 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3</span> <a name="l01378"></a>01378 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4</span> <a name="l01379"></a>01379 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5</span> <a name="l01380"></a>01380 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6</span> <a name="l01381"></a>01381 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7</span> <a name="l01382"></a>01382 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8</span> <a name="l01383"></a>01383 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba</span> <a name="l01384"></a>01384 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_MovSize 0xD1bb</span> <a name="l01385"></a>01385 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LvViewTypeSelect 0xD1bc</span> <a name="l01386"></a>01386 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_Artist 0xD1d0</span> <a name="l01387"></a>01387 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_Copyright 0xD1d1</span> <a name="l01388"></a>01388 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_BracketValue 0xD1d2</span> <a name="l01389"></a>01389 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3</span> <a name="l01390"></a>01390 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4</span> <a name="l01391"></a>01391 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_Brightness 0xD1d5</span> <a name="l01392"></a>01392 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6</span> <a name="l01393"></a>01393 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_EFComp 0xD1d7</span> <a name="l01394"></a>01394 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LensName 0xD1d8</span> <a name="l01395"></a>01395 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_AEB 0xD1d9</span> <a name="l01396"></a>01396 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_StroboSetting 0xD1da</span> <a name="l01397"></a>01397 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db</span> <a name="l01398"></a>01398 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc</span> <a name="l01399"></a>01399 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_CANON_EOS_LensID 0xD1dd</span> <a name="l01400"></a>01400 <span class="preprocessor"></span> <a name="l01401"></a>01401 <span class="comment">/* Nikon extension device property codes */</span> <a name="l01402"></a>01402 <span class="preprocessor">#define PTP_DPC_NIKON_ShootingBank 0xD010</span> <a name="l01403"></a>01403 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ShootingBankNameA 0xD011</span> <a name="l01404"></a>01404 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ShootingBankNameB 0xD012</span> <a name="l01405"></a>01405 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ShootingBankNameC 0xD013</span> <a name="l01406"></a>01406 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ShootingBankNameD 0xD014</span> <a name="l01407"></a>01407 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ResetBank0 0xD015</span> <a name="l01408"></a>01408 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_RawCompression 0xD016</span> <a name="l01409"></a>01409 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017</span> <a name="l01410"></a>01410 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceTungstenBias 0xD018</span> <a name="l01411"></a>01411 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceFluorescentBias 0xD019</span> <a name="l01412"></a>01412 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceDaylightBias 0xD01A</span> <a name="l01413"></a>01413 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceFlashBias 0xD01B</span> <a name="l01414"></a>01414 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceCloudyBias 0xD01C</span> <a name="l01415"></a>01415 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceShadeBias 0xD01D</span> <a name="l01416"></a>01416 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceColorTemperature 0xD01E</span> <a name="l01417"></a>01417 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetNo 0xD01F</span> <a name="l01418"></a>01418 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetName0 0xD020</span> <a name="l01419"></a>01419 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetName1 0xD021</span> <a name="l01420"></a>01420 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetName2 0xD022</span> <a name="l01421"></a>01421 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetName3 0xD023</span> <a name="l01422"></a>01422 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetName4 0xD024</span> <a name="l01423"></a>01423 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetVal0 0xD025</span> <a name="l01424"></a>01424 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetVal1 0xD026</span> <a name="l01425"></a>01425 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetVal2 0xD027</span> <a name="l01426"></a>01426 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetVal3 0xD028</span> <a name="l01427"></a>01427 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalancePresetVal4 0xD029</span> <a name="l01428"></a>01428 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ImageSharpening 0xD02A</span> <a name="l01429"></a>01429 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ToneCompensation 0xD02B</span> <a name="l01430"></a>01430 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ColorModel 0xD02C</span> <a name="l01431"></a>01431 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_HueAdjustment 0xD02D</span> <a name="l01432"></a>01432 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E </span><span class="comment">/* Set FMM Manual */</span> <a name="l01433"></a>01433 <span class="preprocessor">#define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F </span><span class="comment">/* Set F0 Manual */</span> <a name="l01434"></a>01434 <span class="preprocessor">#define PTP_DPC_NIKON_ShootingMode 0xD030</span> <a name="l01435"></a>01435 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_JPEG_Compression_Policy 0xD031</span> <a name="l01436"></a>01436 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ColorSpace 0xD032</span> <a name="l01437"></a>01437 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoDXCrop 0xD033</span> <a name="l01438"></a>01438 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040</span> <a name="l01439"></a>01439 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MenuBankNameA 0xD041</span> <a name="l01440"></a>01440 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MenuBankNameB 0xD042</span> <a name="l01441"></a>01441 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MenuBankNameC 0xD043</span> <a name="l01442"></a>01442 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MenuBankNameD 0xD044</span> <a name="l01443"></a>01443 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ResetBank 0xD045</span> <a name="l01444"></a>01444 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_A1AFCModePriority 0xD048</span> <a name="l01445"></a>01445 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_A2AFSModePriority 0xD049</span> <a name="l01446"></a>01446 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A</span> <a name="l01447"></a>01447 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_A4AFActivation 0xD04B</span> <a name="l01448"></a>01448 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusAreaIllumManualFocus 0xD04C</span> <a name="l01449"></a>01449 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D</span> <a name="l01450"></a>01450 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E</span> <a name="l01451"></a>01451 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusAreaWrap 0xD04F </span><span class="comment">/* area sel */</span> <a name="l01452"></a>01452 <span class="preprocessor">#define PTP_DPC_NIKON_VerticalAFON 0xD050</span> <a name="l01453"></a>01453 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AFLockOn 0xD051</span> <a name="l01454"></a>01454 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusAreaZone 0xD052</span> <a name="l01455"></a>01455 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_EnableCopyright 0xD053</span> <a name="l01456"></a>01456 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ISOAuto 0xD054</span> <a name="l01457"></a>01457 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_EVISOStep 0xD055</span> <a name="l01458"></a>01458 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_EVStep 0xD056 </span><span class="comment">/* EV Step SS FN */</span> <a name="l01459"></a>01459 <span class="preprocessor">#define PTP_DPC_NIKON_EVStepExposureComp 0xD057</span> <a name="l01460"></a>01460 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureCompensation 0xD058</span> <a name="l01461"></a>01461 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CenterWeightArea 0xD059</span> <a name="l01462"></a>01462 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureBaseMatrix 0xD05A</span> <a name="l01463"></a>01463 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureBaseCenter 0xD05B</span> <a name="l01464"></a>01464 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureBaseSpot 0xD05C</span> <a name="l01465"></a>01465 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewAF 0xD05D</span> <a name="l01466"></a>01466 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AELockMode 0xD05E</span> <a name="l01467"></a>01467 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AELAFLMode 0xD05F</span> <a name="l01468"></a>01468 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MeterOff 0xD062</span> <a name="l01469"></a>01469 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_SelfTimer 0xD063</span> <a name="l01470"></a>01470 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MonitorOff 0xD064</span> <a name="l01471"></a>01471 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ImgConfTime 0xD065</span> <a name="l01472"></a>01472 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AngleLevel 0xD067</span> <a name="l01473"></a>01473 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_D1ShootingSpeed 0xD068 </span><span class="comment">/* continous speed low */</span> <a name="l01474"></a>01474 <span class="preprocessor">#define PTP_DPC_NIKON_D2MaximumShots 0xD069</span> <a name="l01475"></a>01475 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_D3ExpDelayMode 0xD06A</span> <a name="l01476"></a>01476 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LongExposureNoiseReduction 0xD06B</span> <a name="l01477"></a>01477 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FileNumberSequence 0xD06C</span> <a name="l01478"></a>01478 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ControlPanelFinderRearControl 0xD06D</span> <a name="l01479"></a>01479 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ControlPanelFinderViewfinder 0xD06E</span> <a name="l01480"></a>01480 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_D7Illumination 0xD06F</span> <a name="l01481"></a>01481 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_NrHighISO 0xD070</span> <a name="l01482"></a>01482 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_SHSET_CH_GUID_DISP 0xD071</span> <a name="l01483"></a>01483 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ArtistName 0xD072</span> <a name="l01484"></a>01484 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CopyrightInfo 0xD073</span> <a name="l01485"></a>01485 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashSyncSpeed 0xD074</span> <a name="l01486"></a>01486 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashShutterSpeed 0xD075 </span><span class="comment">/* SB Low Limit */</span> <a name="l01487"></a>01487 <span class="preprocessor">#define PTP_DPC_NIKON_E3AAFlashMode 0xD076</span> <a name="l01488"></a>01488 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_E4ModelingFlash 0xD077</span> <a name="l01489"></a>01489 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BracketSet 0xD078 </span><span class="comment">/* Bracket Type? */</span> <a name="l01490"></a>01490 <span class="preprocessor">#define PTP_DPC_NIKON_E6ManualModeBracketing 0xD079 </span><span class="comment">/* Bracket Factor? */</span> <a name="l01491"></a>01491 <span class="preprocessor">#define PTP_DPC_NIKON_BracketOrder 0xD07A</span> <a name="l01492"></a>01492 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_E8AutoBracketSelection 0xD07B </span><span class="comment">/* Bracket Method? */</span> <a name="l01493"></a>01493 <span class="preprocessor">#define PTP_DPC_NIKON_BracketingSet 0xD07C</span> <a name="l01494"></a>01494 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_F1CenterButtonShootingMode 0xD080</span> <a name="l01495"></a>01495 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CenterButtonPlaybackMode 0xD081</span> <a name="l01496"></a>01496 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_F2Multiselector 0xD082</span> <a name="l01497"></a>01497 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_F3PhotoInfoPlayback 0xD083 </span><span class="comment">/* MultiSelector Dir */</span> <a name="l01498"></a>01498 <span class="preprocessor">#define PTP_DPC_NIKON_F4AssignFuncButton 0xD084 </span><span class="comment">/* CMD Dial Rotate */</span> <a name="l01499"></a>01499 <span class="preprocessor">#define PTP_DPC_NIKON_F5CustomizeCommDials 0xD085 </span><span class="comment">/* CMD Dial Change */</span> <a name="l01500"></a>01500 <span class="preprocessor">#define PTP_DPC_NIKON_ReverseCommandDial 0xD086 </span><span class="comment">/* CMD Dial FN Set */</span> <a name="l01501"></a>01501 <span class="preprocessor">#define PTP_DPC_NIKON_ApertureSetting 0xD087 </span><span class="comment">/* CMD Dial Active */</span> <a name="l01502"></a>01502 <span class="preprocessor">#define PTP_DPC_NIKON_MenusAndPlayback 0xD088 </span><span class="comment">/* CMD Dial Active */</span> <a name="l01503"></a>01503 <span class="preprocessor">#define PTP_DPC_NIKON_F6ButtonsAndDials 0xD089 </span><span class="comment">/* Universal Mode? */</span> <a name="l01504"></a>01504 <span class="preprocessor">#define PTP_DPC_NIKON_NoCFCard 0xD08A </span><span class="comment">/* Enable Shutter? */</span> <a name="l01505"></a>01505 <span class="preprocessor">#define PTP_DPC_NIKON_CenterButtonZoomRatio 0xD08B</span> <a name="l01506"></a>01506 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FunctionButton2 0xD08C</span> <a name="l01507"></a>01507 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AFAreaPoint 0xD08D</span> <a name="l01508"></a>01508 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_NormalAFOn 0xD08E</span> <a name="l01509"></a>01509 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ImageCommentString 0xD090</span> <a name="l01510"></a>01510 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ImageCommentEnable 0xD091</span> <a name="l01511"></a>01511 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ImageRotation 0xD092</span> <a name="l01512"></a>01512 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ManualSetLensNo 0xD093</span> <a name="l01513"></a>01513 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MovScreenSize 0xD0A0</span> <a name="l01514"></a>01514 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MovVoice 0xD0A1</span> <a name="l01515"></a>01515 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_Bracketing 0xD0C0</span> <a name="l01516"></a>01516 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoExposureBracketStep 0xD0C1</span> <a name="l01517"></a>01517 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoExposureBracketProgram 0xD0C2</span> <a name="l01518"></a>01518 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoExposureBracketCount 0xD0C3</span> <a name="l01519"></a>01519 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceBracketStep 0xD0C4</span> <a name="l01520"></a>01520 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WhiteBalanceBracketProgram 0xD0C5</span> <a name="l01521"></a>01521 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LensID 0xD0E0</span> <a name="l01522"></a>01522 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LensSort 0xD0E1</span> <a name="l01523"></a>01523 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LensType 0xD0E2</span> <a name="l01524"></a>01524 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocalLengthMin 0xD0E3</span> <a name="l01525"></a>01525 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocalLengthMax 0xD0E4</span> <a name="l01526"></a>01526 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5</span> <a name="l01527"></a>01527 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6</span> <a name="l01528"></a>01528 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FinderISODisp 0xD0F0</span> <a name="l01529"></a>01529 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoOffPhoto 0xD0F2</span> <a name="l01530"></a>01530 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoOffMenu 0xD0F3</span> <a name="l01531"></a>01531 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoOffInfo 0xD0F4</span> <a name="l01532"></a>01532 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_SelfTimerShootNum 0xD0F5</span> <a name="l01533"></a>01533 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_VignetteCtrl 0xD0F7</span> <a name="l01534"></a>01534 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureTime 0xD100 </span><span class="comment">/* Shutter Speed */</span> <a name="l01535"></a>01535 <span class="preprocessor">#define PTP_DPC_NIKON_ACPower 0xD101</span> <a name="l01536"></a>01536 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WarningStatus 0xD102</span> <a name="l01537"></a>01537 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_MaximumShots 0xD103 </span><span class="comment">/* remain shots (in RAM buffer?) */</span> <a name="l01538"></a>01538 <span class="preprocessor">#define PTP_DPC_NIKON_AFLockStatus 0xD104</span> <a name="l01539"></a>01539 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AELockStatus 0xD105</span> <a name="l01540"></a>01540 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FVLockStatus 0xD106</span> <a name="l01541"></a>01541 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107</span> <a name="l01542"></a>01542 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutofocusArea 0xD108</span> <a name="l01543"></a>01543 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlexibleProgram 0xD109</span> <a name="l01544"></a>01544 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LightMeter 0xD10A </span><span class="comment">/* Exposure Status */</span> <a name="l01545"></a>01545 <span class="preprocessor">#define PTP_DPC_NIKON_RecordingMedia 0xD10B </span><span class="comment">/* Card or SDRAM */</span> <a name="l01546"></a>01546 <span class="preprocessor">#define PTP_DPC_NIKON_USBSpeed 0xD10C</span> <a name="l01547"></a>01547 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CCDNumber 0xD10D</span> <a name="l01548"></a>01548 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CameraOrientation 0xD10E</span> <a name="l01549"></a>01549 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_GroupPtnType 0xD10F</span> <a name="l01550"></a>01550 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FNumberLock 0xD110</span> <a name="l01551"></a>01551 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureApertureLock 0xD111 </span><span class="comment">/* shutterspeed lock*/</span> <a name="l01552"></a>01552 <span class="preprocessor">#define PTP_DPC_NIKON_TVLockSetting 0xD112</span> <a name="l01553"></a>01553 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AVLockSetting 0xD113</span> <a name="l01554"></a>01554 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_IllumSetting 0xD114</span> <a name="l01555"></a>01555 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FocusPointBright 0xD115</span> <a name="l01556"></a>01556 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExternalFlashAttached 0xD120</span> <a name="l01557"></a>01557 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExternalFlashStatus 0xD121</span> <a name="l01558"></a>01558 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExternalFlashSort 0xD122</span> <a name="l01559"></a>01559 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExternalFlashMode 0xD123</span> <a name="l01560"></a>01560 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExternalFlashCompensation 0xD124</span> <a name="l01561"></a>01561 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_NewExternalFlashMode 0xD125</span> <a name="l01562"></a>01562 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashExposureCompensation 0xD126</span> <a name="l01563"></a>01563 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_OptimizeImage 0xD140</span> <a name="l01564"></a>01564 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_Saturation 0xD142</span> <a name="l01565"></a>01565 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BW_FillerEffect 0xD143</span> <a name="l01566"></a>01566 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BW_Sharpness 0xD144</span> <a name="l01567"></a>01567 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BW_Contrast 0xD145</span> <a name="l01568"></a>01568 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BW_Setting_Type 0xD146</span> <a name="l01569"></a>01569 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_Slot2SaveMode 0xD148</span> <a name="l01570"></a>01570 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_RawBitMode 0xD149</span> <a name="l01571"></a>01571 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ISOAutoTime 0xD14E</span> <a name="l01572"></a>01572 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlourescentType 0xD14F</span> <a name="l01573"></a>01573 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TuneColourTemperature 0xD150</span> <a name="l01574"></a>01574 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TunePreset0 0xD151</span> <a name="l01575"></a>01575 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TunePreset1 0xD152</span> <a name="l01576"></a>01576 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TunePreset2 0xD153</span> <a name="l01577"></a>01577 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TunePreset3 0xD154</span> <a name="l01578"></a>01578 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_TunePreset4 0xD155</span> <a name="l01579"></a>01579 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BeepOff 0xD160</span> <a name="l01580"></a>01580 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutofocusMode 0xD161</span> <a name="l01581"></a>01581 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AFAssist 0xD163</span> <a name="l01582"></a>01582 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_PADVPMode 0xD164 </span><span class="comment">/* iso auto time */</span> <a name="l01583"></a>01583 <span class="preprocessor">#define PTP_DPC_NIKON_ImageReview 0xD165</span> <a name="l01584"></a>01584 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AFAreaIllumination 0xD166</span> <a name="l01585"></a>01585 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashMode 0xD167</span> <a name="l01586"></a>01586 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommanderMode 0xD168</span> <a name="l01587"></a>01587 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashSign 0xD169</span> <a name="l01588"></a>01588 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ISO_Auto 0xD16A</span> <a name="l01589"></a>01589 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_RemoteTimeout 0xD16B</span> <a name="l01590"></a>01590 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_GridDisplay 0xD16C</span> <a name="l01591"></a>01591 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashModeManualPower 0xD16D</span> <a name="l01592"></a>01592 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E</span> <a name="l01593"></a>01593 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AutoFP 0xD16F</span> <a name="l01594"></a>01594 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CSMMenu 0xD180</span> <a name="l01595"></a>01595 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_WarningDisplay 0xD181</span> <a name="l01596"></a>01596 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BatteryCellKind 0xD182</span> <a name="l01597"></a>01597 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183</span> <a name="l01598"></a>01598 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_DynamicAFArea 0xD184</span> <a name="l01599"></a>01599 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ContinuousSpeedHigh 0xD186</span> <a name="l01600"></a>01600 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_InfoDispSetting 0xD187</span> <a name="l01601"></a>01601 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_PreviewButton 0xD189</span> <a name="l01602"></a>01602 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_PreviewButton2 0xD18A</span> <a name="l01603"></a>01603 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_AEAFLockButton2 0xD18B</span> <a name="l01604"></a>01604 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_IndicatorDisp 0xD18D</span> <a name="l01605"></a>01605 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_CellKindPriority 0xD18E</span> <a name="l01606"></a>01606 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190</span> <a name="l01607"></a>01607 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewMode 0xD1A0</span> <a name="l01608"></a>01608 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewDriveMode 0xD1A1</span> <a name="l01609"></a>01609 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewStatus 0xD1A2</span> <a name="l01610"></a>01610 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3</span> <a name="l01611"></a>01611 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4</span> <a name="l01612"></a>01612 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0</span> <a name="l01613"></a>01613 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1</span> <a name="l01614"></a>01614 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_InfoDispErrStatus 0xD1B2</span> <a name="l01615"></a>01615 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3</span> <a name="l01616"></a>01616 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashOpen 0xD1C0</span> <a name="l01617"></a>01617 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCharged 0xD1C1</span> <a name="l01618"></a>01618 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0</span> <a name="l01619"></a>01619 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashMRepeatCount 0xD1D1</span> <a name="l01620"></a>01620 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashMRepeatInterval 0xD1D2</span> <a name="l01621"></a>01621 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandChannel 0xD1D3</span> <a name="l01622"></a>01622 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandSelfMode 0xD1D4</span> <a name="l01623"></a>01623 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandSelfCompensation 0xD1D5</span> <a name="l01624"></a>01624 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandSelfValue 0xD1D6</span> <a name="l01625"></a>01625 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandAMode 0xD1D7</span> <a name="l01626"></a>01626 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandACompensation 0xD1D8</span> <a name="l01627"></a>01627 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandAValue 0xD1D9</span> <a name="l01628"></a>01628 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA</span> <a name="l01629"></a>01629 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB</span> <a name="l01630"></a>01630 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC</span> <a name="l01631"></a>01631 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200</span> <a name="l01632"></a>01632 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201</span> <a name="l01633"></a>01633 <span class="preprocessor"></span> <a name="l01634"></a>01634 <span class="comment">/* Fuji specific */</span> <a name="l01635"></a>01635 <span class="preprocessor">#define PTP_DPC_FUJI_ColorTemperature 0xD017</span> <a name="l01636"></a>01636 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_Quality 0xD018</span> <a name="l01637"></a>01637 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_ReleaseMode 0xD201</span> <a name="l01638"></a>01638 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_FocusAreas 0xD206</span> <a name="l01639"></a>01639 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_AELock 0xD213</span> <a name="l01640"></a>01640 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_Aperture 0xD218</span> <a name="l01641"></a>01641 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_FUJI_ShutterSpeed 0xD219</span> <a name="l01642"></a>01642 <span class="preprocessor"></span> <a name="l01643"></a>01643 <span class="comment">/* Microsoft/MTP specific */</span> <a name="l01644"></a>01644 <span class="preprocessor">#define PTP_DPC_MTP_SecureTime 0xD101</span> <a name="l01645"></a>01645 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_DeviceCertificate 0xD102</span> <a name="l01646"></a>01646 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_RevocationInfo 0xD103</span> <a name="l01647"></a>01647 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_SynchronizationPartner 0xD401</span> <a name="l01648"></a>01648 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_DeviceFriendlyName 0xD402</span> <a name="l01649"></a>01649 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_VolumeLevel 0xD403</span> <a name="l01650"></a>01650 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_DeviceIcon 0xD405</span> <a name="l01651"></a>01651 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_SessionInitiatorInfo 0xD406</span> <a name="l01652"></a>01652 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PerceivedDeviceType 0xD407</span> <a name="l01653"></a>01653 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PlaybackRate 0xD410</span> <a name="l01654"></a>01654 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PlaybackObject 0xD411</span> <a name="l01655"></a>01655 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PlaybackContainerIndex 0xD412</span> <a name="l01656"></a>01656 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PlaybackPosition 0xD413</span> <a name="l01657"></a>01657 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPC_MTP_PlaysForSureID 0xD131</span> <a name="l01658"></a>01658 <span class="preprocessor"></span> <a name="l01659"></a>01659 <span class="comment">/* Zune specific property codes */</span> <a name="l01660"></a>01660 <span class="preprocessor">#define PTP_DPC_MTP_Zune_UnknownVersion 0xD181</span> <a name="l01661"></a>01661 <span class="preprocessor"></span> <a name="l01662"></a>01662 <span class="comment">/* MTP specific Object Properties */</span> <a name="l01663"></a>01663 <span class="preprocessor">#define PTP_OPC_StorageID 0xDC01</span> <a name="l01664"></a>01664 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ObjectFormat 0xDC02</span> <a name="l01665"></a>01665 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ProtectionStatus 0xDC03</span> <a name="l01666"></a>01666 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ObjectSize 0xDC04</span> <a name="l01667"></a>01667 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AssociationType 0xDC05</span> <a name="l01668"></a>01668 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AssociationDesc 0xDC06</span> <a name="l01669"></a>01669 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ObjectFileName 0xDC07</span> <a name="l01670"></a>01670 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DateCreated 0xDC08</span> <a name="l01671"></a>01671 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DateModified 0xDC09</span> <a name="l01672"></a>01672 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Keywords 0xDC0A</span> <a name="l01673"></a>01673 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ParentObject 0xDC0B</span> <a name="l01674"></a>01674 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AllowedFolderContents 0xDC0C</span> <a name="l01675"></a>01675 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Hidden 0xDC0D</span> <a name="l01676"></a>01676 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SystemObject 0xDC0E</span> <a name="l01677"></a>01677 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PersistantUniqueObjectIdentifier 0xDC41</span> <a name="l01678"></a>01678 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SyncID 0xDC42</span> <a name="l01679"></a>01679 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PropertyBag 0xDC43</span> <a name="l01680"></a>01680 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Name 0xDC44</span> <a name="l01681"></a>01681 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_CreatedBy 0xDC45</span> <a name="l01682"></a>01682 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Artist 0xDC46</span> <a name="l01683"></a>01683 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DateAuthored 0xDC47</span> <a name="l01684"></a>01684 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Description 0xDC48</span> <a name="l01685"></a>01685 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_URLReference 0xDC49</span> <a name="l01686"></a>01686 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_LanguageLocale 0xDC4A</span> <a name="l01687"></a>01687 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_CopyrightInformation 0xDC4B</span> <a name="l01688"></a>01688 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Source 0xDC4C</span> <a name="l01689"></a>01689 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_OriginLocation 0xDC4D</span> <a name="l01690"></a>01690 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DateAdded 0xDC4E</span> <a name="l01691"></a>01691 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_NonConsumable 0xDC4F</span> <a name="l01692"></a>01692 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_CorruptOrUnplayable 0xDC50</span> <a name="l01693"></a>01693 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ProducerSerialNumber 0xDC51</span> <a name="l01694"></a>01694 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleFormat 0xDC81</span> <a name="l01695"></a>01695 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleSize 0xDC82</span> <a name="l01696"></a>01696 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleHeight 0xDC83</span> <a name="l01697"></a>01697 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleWidth 0xDC84</span> <a name="l01698"></a>01698 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleDuration 0xDC85</span> <a name="l01699"></a>01699 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_RepresentativeSampleData 0xDC86</span> <a name="l01700"></a>01700 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Width 0xDC87</span> <a name="l01701"></a>01701 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Height 0xDC88</span> <a name="l01702"></a>01702 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Duration 0xDC89</span> <a name="l01703"></a>01703 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Rating 0xDC8A</span> <a name="l01704"></a>01704 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Track 0xDC8B</span> <a name="l01705"></a>01705 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Genre 0xDC8C</span> <a name="l01706"></a>01706 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Credits 0xDC8D</span> <a name="l01707"></a>01707 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Lyrics 0xDC8E</span> <a name="l01708"></a>01708 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SubscriptionContentID 0xDC8F</span> <a name="l01709"></a>01709 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ProducedBy 0xDC90</span> <a name="l01710"></a>01710 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_UseCount 0xDC91</span> <a name="l01711"></a>01711 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SkipCount 0xDC92</span> <a name="l01712"></a>01712 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_LastAccessed 0xDC93</span> <a name="l01713"></a>01713 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ParentalRating 0xDC94</span> <a name="l01714"></a>01714 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MetaGenre 0xDC95</span> <a name="l01715"></a>01715 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Composer 0xDC96</span> <a name="l01716"></a>01716 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EffectiveRating 0xDC97</span> <a name="l01717"></a>01717 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Subtitle 0xDC98</span> <a name="l01718"></a>01718 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_OriginalReleaseDate 0xDC99</span> <a name="l01719"></a>01719 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AlbumName 0xDC9A</span> <a name="l01720"></a>01720 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AlbumArtist 0xDC9B</span> <a name="l01721"></a>01721 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Mood 0xDC9C</span> <a name="l01722"></a>01722 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DRMStatus 0xDC9D</span> <a name="l01723"></a>01723 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SubDescription 0xDC9E</span> <a name="l01724"></a>01724 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_IsCropped 0xDCD1</span> <a name="l01725"></a>01725 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_IsColorCorrected 0xDCD2</span> <a name="l01726"></a>01726 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ImageBitDepth 0xDCD3</span> <a name="l01727"></a>01727 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Fnumber 0xDCD4</span> <a name="l01728"></a>01728 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ExposureTime 0xDCD5</span> <a name="l01729"></a>01729 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ExposureIndex 0xDCD6</span> <a name="l01730"></a>01730 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_DisplayName 0xDCE0</span> <a name="l01731"></a>01731 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_BodyText 0xDCE1</span> <a name="l01732"></a>01732 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Subject 0xDCE2</span> <a name="l01733"></a>01733 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Priority 0xDCE3</span> <a name="l01734"></a>01734 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_GivenName 0xDD00</span> <a name="l01735"></a>01735 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MiddleNames 0xDD01</span> <a name="l01736"></a>01736 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_FamilyName 0xDD02</span> <a name="l01737"></a>01737 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Prefix 0xDD03</span> <a name="l01738"></a>01738 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Suffix 0xDD04</span> <a name="l01739"></a>01739 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneticGivenName 0xDD05</span> <a name="l01740"></a>01740 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneticFamilyName 0xDD06</span> <a name="l01741"></a>01741 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailPrimary 0xDD07</span> <a name="l01742"></a>01742 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailPersonal1 0xDD08</span> <a name="l01743"></a>01743 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailPersonal2 0xDD09</span> <a name="l01744"></a>01744 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailBusiness1 0xDD0A</span> <a name="l01745"></a>01745 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailBusiness2 0xDD0B</span> <a name="l01746"></a>01746 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EmailOthers 0xDD0C</span> <a name="l01747"></a>01747 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberPrimary 0xDD0D</span> <a name="l01748"></a>01748 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberPersonal 0xDD0E</span> <a name="l01749"></a>01749 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberPersonal2 0xDD0F</span> <a name="l01750"></a>01750 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberBusiness 0xDD10</span> <a name="l01751"></a>01751 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberBusiness2 0xDD11</span> <a name="l01752"></a>01752 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberMobile 0xDD12</span> <a name="l01753"></a>01753 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberMobile2 0xDD13</span> <a name="l01754"></a>01754 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_FaxNumberPrimary 0xDD14</span> <a name="l01755"></a>01755 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_FaxNumberPersonal 0xDD15</span> <a name="l01756"></a>01756 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_FaxNumberBusiness 0xDD16</span> <a name="l01757"></a>01757 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PagerNumber 0xDD17</span> <a name="l01758"></a>01758 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneNumberOthers 0xDD18</span> <a name="l01759"></a>01759 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PrimaryWebAddress 0xDD19</span> <a name="l01760"></a>01760 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PersonalWebAddress 0xDD1A</span> <a name="l01761"></a>01761 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_BusinessWebAddress 0xDD1B</span> <a name="l01762"></a>01762 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_InstantMessengerAddress 0xDD1C</span> <a name="l01763"></a>01763 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_InstantMessengerAddress2 0xDD1D</span> <a name="l01764"></a>01764 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_InstantMessengerAddress3 0xDD1E</span> <a name="l01765"></a>01765 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFull 0xDD1F</span> <a name="l01766"></a>01766 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullLine1 0xDD20</span> <a name="l01767"></a>01767 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullLine2 0xDD21</span> <a name="l01768"></a>01768 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullCity 0xDD22</span> <a name="l01769"></a>01769 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullRegion 0xDD23</span> <a name="l01770"></a>01770 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullPostalCode 0xDD24</span> <a name="l01771"></a>01771 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressPersonalFullCountry 0xDD25</span> <a name="l01772"></a>01772 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessFull 0xDD26</span> <a name="l01773"></a>01773 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessLine1 0xDD27</span> <a name="l01774"></a>01774 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessLine2 0xDD28</span> <a name="l01775"></a>01775 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessCity 0xDD29</span> <a name="l01776"></a>01776 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessRegion 0xDD2A</span> <a name="l01777"></a>01777 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessPostalCode 0xDD2B</span> <a name="l01778"></a>01778 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressBusinessCountry 0xDD2C</span> <a name="l01779"></a>01779 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherFull 0xDD2D</span> <a name="l01780"></a>01780 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherLine1 0xDD2E</span> <a name="l01781"></a>01781 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherLine2 0xDD2F</span> <a name="l01782"></a>01782 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherCity 0xDD30</span> <a name="l01783"></a>01783 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherRegion 0xDD31</span> <a name="l01784"></a>01784 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherPostalCode 0xDD32</span> <a name="l01785"></a>01785 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PostalAddressOtherCountry 0xDD33</span> <a name="l01786"></a>01786 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_OrganizationName 0xDD34</span> <a name="l01787"></a>01787 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_PhoneticOrganizationName 0xDD35</span> <a name="l01788"></a>01788 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Role 0xDD36</span> <a name="l01789"></a>01789 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Birthdate 0xDD37</span> <a name="l01790"></a>01790 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageTo 0xDD40</span> <a name="l01791"></a>01791 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageCC 0xDD41</span> <a name="l01792"></a>01792 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageBCC 0xDD42</span> <a name="l01793"></a>01793 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageRead 0xDD43</span> <a name="l01794"></a>01794 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageReceivedTime 0xDD44</span> <a name="l01795"></a>01795 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MessageSender 0xDD45</span> <a name="l01796"></a>01796 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityBeginTime 0xDD50</span> <a name="l01797"></a>01797 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityEndTime 0xDD51</span> <a name="l01798"></a>01798 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityLocation 0xDD52</span> <a name="l01799"></a>01799 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityRequiredAttendees 0xDD54</span> <a name="l01800"></a>01800 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityOptionalAttendees 0xDD55</span> <a name="l01801"></a>01801 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityResources 0xDD56</span> <a name="l01802"></a>01802 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ActivityAccepted 0xDD57</span> <a name="l01803"></a>01803 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Owner 0xDD5D</span> <a name="l01804"></a>01804 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Editor 0xDD5E</span> <a name="l01805"></a>01805 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_Webmaster 0xDD5F</span> <a name="l01806"></a>01806 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_URLSource 0xDD60</span> <a name="l01807"></a>01807 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_URLDestination 0xDD61</span> <a name="l01808"></a>01808 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_TimeBookmark 0xDD62</span> <a name="l01809"></a>01809 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ObjectBookmark 0xDD63</span> <a name="l01810"></a>01810 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ByteBookmark 0xDD64</span> <a name="l01811"></a>01811 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_LastBuildDate 0xDD70</span> <a name="l01812"></a>01812 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_TimetoLive 0xDD71</span> <a name="l01813"></a>01813 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_MediaGUID 0xDD72</span> <a name="l01814"></a>01814 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_TotalBitRate 0xDE91</span> <a name="l01815"></a>01815 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_BitRateType 0xDE92</span> <a name="l01816"></a>01816 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_SampleRate 0xDE93</span> <a name="l01817"></a>01817 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_NumberOfChannels 0xDE94</span> <a name="l01818"></a>01818 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AudioBitDepth 0xDE95</span> <a name="l01819"></a>01819 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_ScanDepth 0xDE97</span> <a name="l01820"></a>01820 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AudioWAVECodec 0xDE99</span> <a name="l01821"></a>01821 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_AudioBitRate 0xDE9A</span> <a name="l01822"></a>01822 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_VideoFourCCCodec 0xDE9B</span> <a name="l01823"></a>01823 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_VideoBitRate 0xDE9C</span> <a name="l01824"></a>01824 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_FramesPerThousandSeconds 0xDE9D</span> <a name="l01825"></a>01825 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_KeyFrameDistance 0xDE9E</span> <a name="l01826"></a>01826 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_BufferSize 0xDE9F</span> <a name="l01827"></a>01827 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EncodingQuality 0xDEA0</span> <a name="l01828"></a>01828 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_EncodingProfile 0xDEA1</span> <a name="l01829"></a>01829 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPC_BuyFlag 0xD901</span> <a name="l01830"></a>01830 <span class="preprocessor"></span> <a name="l01831"></a>01831 <span class="comment">/* WiFi Provisioning MTP Extension property codes */</span> <a name="l01832"></a>01832 <span class="preprocessor">#define PTP_OPC_WirelessConfigurationFile 0xB104</span> <a name="l01833"></a>01833 <span class="preprocessor"></span> <a name="l01834"></a>01834 <span class="comment">/* Device Property Form Flag */</span> <a name="l01835"></a>01835 <a name="l01836"></a>01836 <span class="preprocessor">#define PTP_DPFF_None 0x00</span> <a name="l01837"></a>01837 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPFF_Range 0x01</span> <a name="l01838"></a>01838 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPFF_Enumeration 0x02</span> <a name="l01839"></a>01839 <span class="preprocessor"></span> <a name="l01840"></a>01840 <span class="comment">/* Object Property Codes used by MTP (first 3 are same as DPFF codes) */</span> <a name="l01841"></a>01841 <span class="preprocessor">#define PTP_OPFF_None 0x00</span> <a name="l01842"></a>01842 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_Range 0x01</span> <a name="l01843"></a>01843 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_Enumeration 0x02</span> <a name="l01844"></a>01844 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_DateTime 0x03</span> <a name="l01845"></a>01845 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_FixedLengthArray 0x04</span> <a name="l01846"></a>01846 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_RegularExpression 0x05</span> <a name="l01847"></a>01847 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_ByteArray 0x06</span> <a name="l01848"></a>01848 <span class="preprocessor"></span><span class="preprocessor">#define PTP_OPFF_LongString 0xFF</span> <a name="l01849"></a>01849 <span class="preprocessor"></span> <a name="l01850"></a>01850 <span class="comment">/* Device Property GetSet type */</span> <a name="l01851"></a>01851 <span class="preprocessor">#define PTP_DPGS_Get 0x00</span> <a name="l01852"></a>01852 <span class="preprocessor"></span><span class="preprocessor">#define PTP_DPGS_GetSet 0x01</span> <a name="l01853"></a>01853 <span class="preprocessor"></span> <a name="l01854"></a>01854 <span class="comment">/* Glue stuff starts here */</span> <a name="l01855"></a>01855 <a name="l01856"></a>01856 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPParams.html">_PTPParams</a> <a class="code" href="struct__PTPParams.html">PTPParams</a>; <a name="l01857"></a>01857 <a name="l01858"></a>01858 <a name="l01859"></a>01859 <span class="keyword">typedef</span> uint16_t (* PTPDataGetFunc) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">void</span>*priv, <a name="l01860"></a>01860 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> wantlen, <a name="l01861"></a>01861 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *gotlen); <a name="l01862"></a>01862 <a name="l01863"></a>01863 <span class="keyword">typedef</span> uint16_t (* PTPDataPutFunc) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">void</span>*priv, <a name="l01864"></a>01864 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> sendlen, <a name="l01865"></a>01865 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *putlen); <a name="l01866"></a><a class="code" href="struct__PTPDataHandler.html">01866</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPDataHandler.html">_PTPDataHandler</a> { <a name="l01867"></a>01867 PTPDataGetFunc getfunc; <a name="l01868"></a>01868 PTPDataPutFunc putfunc; <a name="l01869"></a>01869 <span class="keywordtype">void</span> *priv; <a name="l01870"></a>01870 } <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a>; <a name="l01871"></a>01871 <a name="l01872"></a>01872 <span class="comment">/*</span> <a name="l01873"></a>01873 <span class="comment"> * This functions take PTP oriented arguments and send them over an</span> <a name="l01874"></a>01874 <span class="comment"> * appropriate data layer doing byteorder conversion accordingly.</span> <a name="l01875"></a>01875 <span class="comment"> */</span> <a name="l01876"></a>01876 <span class="keyword">typedef</span> uint16_t (* PTPIOSendReq) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* req); <a name="l01877"></a>01877 <span class="keyword">typedef</span> uint16_t (* PTPIOSendData) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l01878"></a>01878 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> size, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a>*getter); <a name="l01879"></a>01879 <a name="l01880"></a>01880 <span class="keyword">typedef</span> uint16_t (* PTPIOGetResp) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* resp); <a name="l01881"></a>01881 <span class="keyword">typedef</span> uint16_t (* PTPIOGetData) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l01882"></a>01882 <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a> *putter); <a name="l01883"></a>01883 <span class="keyword">typedef</span> uint16_t (* PTPIOCancelReq) (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t transaction_id); <a name="l01884"></a>01884 <a name="l01885"></a>01885 <span class="comment">/* debug functions */</span> <a name="l01886"></a>01886 <span class="keyword">typedef</span> void (* PTPErrorFunc) (<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list args) <a name="l01887"></a>01887 #<span class="keywordflow">if</span> (__GNUC__ >= 3) <a name="l01888"></a>01888 __attribute__((__format__(printf,2,0))) <a name="l01889"></a>01889 <span class="preprocessor">#endif</span> <a name="l01890"></a>01890 <span class="preprocessor"></span>; <a name="l01891"></a>01891 <span class="keyword">typedef</span> void (* PTPDebugFunc) (<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, va_list args) <a name="l01892"></a>01892 #<span class="keywordflow">if</span> (__GNUC__ >= 3) <a name="l01893"></a>01893 __attribute__((__format__(printf,2,0))) <a name="l01894"></a>01894 <span class="preprocessor">#endif</span> <a name="l01895"></a>01895 <span class="preprocessor"></span>; <a name="l01896"></a>01896 <a name="l01897"></a><a class="code" href="struct__PTPObject.html">01897</a> <span class="keyword">struct </span><a class="code" href="struct__PTPObject.html">_PTPObject</a> { <a name="l01898"></a>01898 uint32_t oid; <a name="l01899"></a>01899 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags; <a name="l01900"></a>01900 <span class="preprocessor">#define PTPOBJECT_OBJECTINFO_LOADED (1<<0)</span> <a name="l01901"></a>01901 <span class="preprocessor"></span><span class="preprocessor">#define PTPOBJECT_CANONFLAGS_LOADED (1<<1)</span> <a name="l01902"></a>01902 <span class="preprocessor"></span><span class="preprocessor">#define PTPOBJECT_MTPPROPLIST_LOADED (1<<2)</span> <a name="l01903"></a>01903 <span class="preprocessor"></span><span class="preprocessor">#define PTPOBJECT_DIRECTORY_LOADED (1<<3)</span> <a name="l01904"></a>01904 <span class="preprocessor"></span><span class="preprocessor">#define PTPOBJECT_PARENTOBJECT_LOADED (1<<4)</span> <a name="l01905"></a>01905 <span class="preprocessor"></span><span class="preprocessor">#define PTPOBJECT_STORAGEID_LOADED (1<<5)</span> <a name="l01906"></a>01906 <span class="preprocessor"></span> <a name="l01907"></a>01907 <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a> oi; <a name="l01908"></a>01908 uint32_t canon_flags; <a name="l01909"></a>01909 <a class="code" href="struct__MTPProperties.html">MTPProperties</a> *mtpprops; <a name="l01910"></a>01910 <span class="keywordtype">int</span> nrofmtpprops; <a name="l01911"></a>01911 }; <a name="l01912"></a>01912 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PTPObject.html">_PTPObject</a> <a class="code" href="struct__PTPObject.html">PTPObject</a>; <a name="l01913"></a>01913 <a name="l01914"></a><a class="code" href="struct__PTPParams.html">01914</a> <span class="keyword">struct </span><a class="code" href="struct__PTPParams.html">_PTPParams</a> { <a name="l01915"></a>01915 <span class="comment">/* device flags */</span> <a name="l01916"></a>01916 uint32_t device_flags; <a name="l01917"></a>01917 <a name="l01918"></a>01918 <span class="comment">/* data layer byteorder */</span> <a name="l01919"></a>01919 uint8_t byteorder; <a name="l01920"></a>01920 uint16_t maxpacketsize; <a name="l01921"></a>01921 <a name="l01922"></a>01922 <span class="comment">/* PTP IO: Custom IO functions */</span> <a name="l01923"></a>01923 PTPIOSendReq sendreq_func; <a name="l01924"></a>01924 PTPIOSendData senddata_func; <a name="l01925"></a>01925 PTPIOGetResp getresp_func; <a name="l01926"></a>01926 PTPIOGetData getdata_func; <a name="l01927"></a>01927 PTPIOGetResp event_check; <a name="l01928"></a>01928 PTPIOGetResp event_wait; <a name="l01929"></a>01929 PTPIOCancelReq cancelreq_func; <a name="l01930"></a>01930 <a name="l01931"></a>01931 <span class="comment">/* Custom error and debug function */</span> <a name="l01932"></a>01932 PTPErrorFunc error_func; <a name="l01933"></a>01933 PTPDebugFunc debug_func; <a name="l01934"></a>01934 <a name="l01935"></a>01935 <span class="comment">/* Data passed to above functions */</span> <a name="l01936"></a>01936 <span class="keywordtype">void</span> *data; <a name="l01937"></a>01937 <a name="l01938"></a>01938 <span class="comment">/* ptp transaction ID */</span> <a name="l01939"></a>01939 uint32_t transaction_id; <a name="l01940"></a>01940 <span class="comment">/* ptp session ID */</span> <a name="l01941"></a>01941 uint32_t session_id; <a name="l01942"></a>01942 <a name="l01943"></a>01943 <span class="comment">/* PTP IO: if we have MTP style split header/data transfers */</span> <a name="l01944"></a>01944 <span class="keywordtype">int</span> split_header_data; <a name="l01945"></a>01945 <a name="l01946"></a>01946 <span class="comment">/* PTP: internal structures used by ptp driver */</span> <a name="l01947"></a>01947 <a class="code" href="struct__PTPObject.html">PTPObject</a> *objects; <a name="l01948"></a>01948 <span class="keywordtype">int</span> nrofobjects; <a name="l01949"></a>01949 <a name="l01950"></a>01950 <a class="code" href="struct__PTPDeviceInfo.html">PTPDeviceInfo</a> deviceinfo; <a name="l01951"></a>01951 <a name="l01952"></a>01952 <span class="comment">/* PTP: the current event queue */</span> <a name="l01953"></a>01953 <a class="code" href="struct__PTPContainer.html">PTPContainer</a> *events; <a name="l01954"></a>01954 <span class="keywordtype">int</span> nrofevents; <a name="l01955"></a>01955 <a name="l01956"></a>01956 <span class="comment">/* PTP: Canon specific flags list */</span> <a name="l01957"></a>01957 <a class="code" href="struct__PTPCanon__Property.html">PTPCanon_Property</a> *canon_props; <a name="l01958"></a>01958 <span class="keywordtype">int</span> nrofcanon_props; <a name="l01959"></a>01959 <span class="keywordtype">int</span> canon_viewfinder_on; <a name="l01960"></a>01960 <a name="l01961"></a>01961 <span class="comment">/* PTP: Canon EOS event queue */</span> <a name="l01962"></a>01962 <a class="code" href="struct__PTPCanon__changes__entry.html">PTPCanon_changes_entry</a> *backlogentries; <a name="l01963"></a>01963 <span class="keywordtype">int</span> nrofbacklogentries; <a name="l01964"></a>01964 <span class="keywordtype">int</span> eos_captureenabled; <a name="l01965"></a>01965 <a name="l01966"></a>01966 <span class="comment">/* PTP: Wifi profiles */</span> <a name="l01967"></a>01967 uint8_t wifi_profiles_version; <a name="l01968"></a>01968 uint8_t wifi_profiles_number; <a name="l01969"></a>01969 <a class="code" href="struct__PTPNIKONWifiProfile.html">PTPNIKONWifiProfile</a> *wifi_profiles; <a name="l01970"></a>01970 <a name="l01971"></a>01971 <span class="comment">/* IO: PTP/IP related data */</span> <a name="l01972"></a>01972 <span class="keywordtype">int</span> cmdfd, evtfd; <a name="l01973"></a>01973 uint8_t cameraguid[16]; <a name="l01974"></a>01974 uint32_t eventpipeid; <a name="l01975"></a>01975 <span class="keywordtype">char</span> *cameraname; <a name="l01976"></a>01976 <a name="l01977"></a>01977 <span class="preprocessor">#ifdef HAVE_ICONV</span> <a name="l01978"></a>01978 <span class="preprocessor"></span> <span class="comment">/* PTP: iconv converters */</span> <a name="l01979"></a>01979 iconv_t cd_locale_to_ucs2; <a name="l01980"></a>01980 iconv_t cd_ucs2_to_locale; <a name="l01981"></a>01981 <span class="preprocessor">#endif</span> <a name="l01982"></a>01982 <span class="preprocessor"></span> <a name="l01983"></a>01983 <span class="comment">/* IO: Sometimes the response packet get send in the dataphase</span> <a name="l01984"></a>01984 <span class="comment"> * too. This only happens for a Samsung player now.</span> <a name="l01985"></a>01985 <span class="comment"> */</span> <a name="l01986"></a>01986 uint8_t *response_packet; <a name="l01987"></a>01987 uint16_t response_packet_size; <a name="l01988"></a>01988 }; <a name="l01989"></a>01989 <a name="l01990"></a>01990 <span class="comment">/* last, but not least - ptp functions */</span> <a name="l01991"></a>01991 uint16_t ptp_usb_sendreq (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* req); <a name="l01992"></a>01992 uint16_t ptp_usb_senddata (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l01993"></a>01993 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> size, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a> *handler); <a name="l01994"></a>01994 uint16_t ptp_usb_getresp (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* resp); <a name="l01995"></a>01995 uint16_t ptp_usb_getdata (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l01996"></a>01996 <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a> *handler); <a name="l01997"></a>01997 uint16_t ptp_usb_event_check (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* event); <a name="l01998"></a>01998 uint16_t ptp_usb_event_wait (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* event); <a name="l01999"></a>01999 <a name="l02000"></a>02000 uint16_t ptp_usb_control_get_extended_event_data (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> *size); <a name="l02001"></a>02001 uint16_t ptp_usb_control_device_reset_request (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params); <a name="l02002"></a>02002 uint16_t ptp_usb_control_get_device_status (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> *size); <a name="l02003"></a>02003 uint16_t ptp_usb_control_cancel_request (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t transid); <a name="l02004"></a>02004 <a name="l02005"></a>02005 <a name="l02006"></a>02006 <span class="keywordtype">int</span> ptp_ptpip_connect (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keyword">const</span> <span class="keywordtype">char</span> *port); <a name="l02007"></a>02007 uint16_t ptp_ptpip_sendreq (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* req); <a name="l02008"></a>02008 uint16_t ptp_ptpip_senddata (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l02009"></a>02009 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> size, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a> *handler); <a name="l02010"></a>02010 uint16_t ptp_ptpip_getresp (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* resp); <a name="l02011"></a>02011 uint16_t ptp_ptpip_getdata (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* ptp, <a name="l02012"></a>02012 <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a> *handler); <a name="l02013"></a>02013 uint16_t ptp_ptpip_event_wait (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* event); <a name="l02014"></a>02014 uint16_t ptp_ptpip_event_check (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* event); <a name="l02015"></a>02015 <a name="l02016"></a>02016 uint16_t ptp_getdeviceinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPDeviceInfo.html">PTPDeviceInfo</a>* deviceinfo); <a name="l02017"></a>02017 <a name="l02018"></a>02018 uint16_t ptp_generic_no_data (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t opcode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cnt, ...); <a name="l02019"></a>02019 <a name="l02020"></a>02020 uint16_t ptp_opensession (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t session); <a name="l02021"></a>02021 <a name="l02030"></a>02030 <span class="preprocessor">#define ptp_closesession(params) ptp_generic_no_data(params,PTP_OC_CloseSession,0)</span> <a name="l02031"></a>02031 <span class="preprocessor"></span> <a name="l02040"></a>02040 <span class="preprocessor">#define ptp_resetdevice(params) ptp_generic_no_data(params,PTP_OC_ResetDevice,0)</span> <a name="l02041"></a>02041 <span class="preprocessor"></span> <a name="l02042"></a>02042 uint16_t ptp_getstorageids (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPStorageIDs.html">PTPStorageIDs</a>* storageids); <a name="l02043"></a>02043 uint16_t ptp_getstorageinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t storageid, <a name="l02044"></a>02044 <a class="code" href="struct__PTPStorageInfo.html">PTPStorageInfo</a>* storageinfo); <a name="l02054"></a>02054 <span class="preprocessor">#define ptp_formatstore(params,storageid) ptp_generic_no_data(params,PTP_OC_FormatStore,1,storageid)</span> <a name="l02055"></a>02055 <span class="preprocessor"></span> <a name="l02056"></a>02056 uint16_t ptp_getobjecthandles (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t storage, <a name="l02057"></a>02057 uint32_t objectformatcode, <a name="l02058"></a>02058 uint32_t associationOH, <a name="l02059"></a>02059 <a class="code" href="struct__PTPObjectHandles.html">PTPObjectHandles</a>* objecthandles); <a name="l02060"></a>02060 <a name="l02061"></a>02061 uint16_t ptp_getnumobjects (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t storage, <a name="l02062"></a>02062 uint32_t objectformatcode, <a name="l02063"></a>02063 uint32_t associationOH, <a name="l02064"></a>02064 uint32_t* numobs); <a name="l02065"></a>02065 <a name="l02066"></a>02066 uint16_t ptp_getobjectinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle, <a name="l02067"></a>02067 <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a>* objectinfo); <a name="l02068"></a>02068 <a name="l02069"></a>02069 uint16_t ptp_getobject (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle, <a name="l02070"></a>02070 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** <span class="keywordtype">object</span>); <a name="l02071"></a>02071 uint16_t ptp_getobject_tofd (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <span class="keywordtype">int</span> fd); <a name="l02072"></a>02072 uint16_t ptp_getobject_to_handler (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a>*); <a name="l02073"></a>02073 uint16_t ptp_getpartialobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, uint32_t offset, <a name="l02074"></a>02074 uint32_t maxbytes, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** <span class="keywordtype">object</span>); <a name="l02075"></a>02075 uint16_t ptp_getthumb (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle, <a name="l02076"></a>02076 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** <span class="keywordtype">object</span>); <a name="l02077"></a>02077 <a name="l02078"></a>02078 uint16_t ptp_deleteobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <a name="l02079"></a>02079 uint32_t ofc); <a name="l02080"></a>02080 <a name="l02081"></a>02081 uint16_t ptp_sendobjectinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t* store, <a name="l02082"></a>02082 uint32_t* parenthandle, uint32_t* handle, <a name="l02083"></a>02083 <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a>* objectinfo); <a name="l02094"></a>02094 <span class="preprocessor">#define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,PTP_OC_SetObjectProtection,2,oid,newprot)</span> <a name="l02095"></a>02095 <span class="preprocessor"></span>uint16_t ptp_sendobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <span class="keywordtype">object</span>, <a name="l02096"></a>02096 uint32_t size); <a name="l02097"></a>02097 uint16_t ptp_sendobject_fromfd (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">int</span> fd, uint32_t size); <a name="l02098"></a>02098 uint16_t ptp_sendobject_from_handler (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a>*, uint32_t size); <a name="l02113"></a>02113 <span class="preprocessor">#define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP_OC_InitiateCapture,2,storageid,ofc)</span> <a name="l02114"></a>02114 <span class="preprocessor"></span> <a name="l02115"></a>02115 uint16_t ptp_getdevicepropdesc (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t propcode, <a name="l02116"></a>02116 <a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a> *devicepropertydesc); <a name="l02117"></a>02117 uint16_t ptp_getdevicepropvalue (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t propcode, <a name="l02118"></a>02118 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a>* value, uint16_t datatype); <a name="l02119"></a>02119 uint16_t ptp_setdevicepropvalue (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t propcode, <a name="l02120"></a>02120 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a>* value, uint16_t datatype); <a name="l02121"></a>02121 <a name="l02122"></a>02122 <a name="l02123"></a>02123 uint16_t ptp_check_event (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params); <a name="l02124"></a>02124 <span class="keywordtype">int</span> ptp_get_one_event (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a> *evt); <a name="l02125"></a>02125 <a name="l02126"></a>02126 <span class="comment">/* Microsoft MTP extensions */</span> <a name="l02127"></a>02127 uint16_t ptp_mtp_getobjectpropdesc (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t opc, uint16_t ofc, <a name="l02128"></a>02128 <a class="code" href="struct__PTPObjectPropDesc.html">PTPObjectPropDesc</a> *objectpropertydesc); <a name="l02129"></a>02129 uint16_t ptp_mtp_getobjectpropvalue (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t oid, uint16_t opc, <a name="l02130"></a>02130 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> *value, uint16_t datatype); <a name="l02131"></a>02131 uint16_t ptp_mtp_setobjectpropvalue (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t oid, uint16_t opc, <a name="l02132"></a>02132 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a> *value, uint16_t datatype); <a name="l02133"></a>02133 uint16_t ptp_mtp_getobjectreferences (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, uint32_t** ohArray, uint32_t* arraylen); <a name="l02134"></a>02134 uint16_t ptp_mtp_setobjectreferences (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, uint32_t* ohArray, uint32_t arraylen); <a name="l02135"></a>02135 uint16_t ptp_mtp_getobjectproplist (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <a class="code" href="struct__MTPProperties.html">MTPProperties</a> **props, <span class="keywordtype">int</span> *nrofprops); <a name="l02136"></a>02136 uint16_t ptp_mtp_sendobjectproplist (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t* store, uint32_t* parenthandle, uint32_t* handle, <a name="l02137"></a>02137 uint16_t objecttype, uint64_t objectsize, <a class="code" href="struct__MTPProperties.html">MTPProperties</a> *props, <span class="keywordtype">int</span> nrofprops); <a name="l02138"></a>02138 uint16_t ptp_mtp_setobjectproplist (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__MTPProperties.html">MTPProperties</a> *props, <span class="keywordtype">int</span> nrofprops); <a name="l02139"></a>02139 <a name="l02140"></a>02140 <span class="comment">/* Eastman Kodak extensions */</span> <a name="l02141"></a>02141 uint16_t ptp_ek_9007 (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **serial, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02142"></a>02142 uint16_t ptp_ek_9009 (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t*, uint32_t*); <a name="l02143"></a>02143 uint16_t ptp_ek_900c (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **serial, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02144"></a>02144 uint16_t ptp_ek_getserial (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **serial, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02145"></a>02145 uint16_t ptp_ek_setserial (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *serial, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size); <a name="l02146"></a>02146 uint16_t ptp_ek_settext (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPEKTextParams.html">PTPEKTextParams</a> *text); <a name="l02147"></a>02147 uint16_t ptp_ek_sendfileobjectinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t* store, <a name="l02148"></a>02148 uint32_t* parenthandle, uint32_t* handle, <a name="l02149"></a>02149 <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a>* objectinfo); <a name="l02150"></a>02150 uint16_t ptp_ek_sendfileobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <span class="keywordtype">object</span>, <a name="l02151"></a>02151 uint32_t size); <a name="l02152"></a>02152 uint16_t ptp_ek_sendfileobject_from_handler (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPDataHandler.html">PTPDataHandler</a>*, <a name="l02153"></a>02153 uint32_t size); <a name="l02154"></a>02154 <a name="l02155"></a>02155 <span class="comment">/* Canon PTP extensions */</span> <a name="l02156"></a>02156 <span class="preprocessor">#define ptp_canon_9012(params) ptp_generic_no_data(params,0x9012,0)</span> <a name="l02157"></a>02157 <span class="preprocessor"></span>uint16_t ptp_canon_gettreeinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t* out); <a name="l02158"></a>02158 uint16_t ptp_canon_gettreesize (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPCanon__directtransfer__entry.html">PTPCanon_directtransfer_entry</a>**, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>*cnt); <a name="l02159"></a>02159 uint16_t ptp_canon_getpartialobjectinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <a name="l02160"></a>02160 uint32_t p2, uint32_t* size, uint32_t* rp2); <a name="l02161"></a>02161 <a name="l02162"></a>02162 uint16_t ptp_canon_get_mac_address (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **mac); <a name="l02175"></a>02175 <span class="preprocessor">#define ptp_canon_startshootingmode(params) ptp_generic_no_data(params,PTP_OC_CANON_InitiateReleaseControl,0)</span> <a name="l02176"></a>02176 <span class="preprocessor"></span> <a name="l02189"></a>02189 <span class="preprocessor">#define ptp_canon_endshootingmode(params) ptp_generic_no_data(params,PTP_OC_CANON_TerminateReleaseControl,0)</span> <a name="l02190"></a>02190 <span class="preprocessor"></span> <a name="l02201"></a>02201 <span class="preprocessor">#define ptp_canon_viewfinderon(params) ptp_generic_no_data(params,PTP_OC_CANON_ViewfinderOn,0)</span> <a name="l02202"></a>02202 <span class="preprocessor"></span> <a name="l02214"></a>02214 <span class="preprocessor">#define ptp_canon_viewfinderoff(params) ptp_generic_no_data(params,PTP_OC_CANON_ViewfinderOff,0)</span> <a name="l02215"></a>02215 <span class="preprocessor"></span> <a name="l02227"></a>02227 <span class="preprocessor">#define PTP_CANON_RESET_AE 0x1</span> <a name="l02228"></a>02228 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_RESET_AF 0x2</span> <a name="l02229"></a>02229 <span class="preprocessor"></span><span class="preprocessor">#define PTP_CANON_RESET_AWB 0x4</span> <a name="l02230"></a>02230 <span class="preprocessor"></span><span class="preprocessor">#define ptp_canon_reset_aeafawb(params,flags) ptp_generic_no_data(params,PTP_OC_CANON_DoAeAfAwb,1,flags)</span> <a name="l02231"></a>02231 <span class="preprocessor"></span>uint16_t ptp_canon_checkevent (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a name="l02232"></a>02232 <a class="code" href="struct__PTPContainer.html">PTPContainer</a>* event, <span class="keywordtype">int</span>* isevent); <a name="l02245"></a>02245 <span class="preprocessor">#define ptp_canon_focuslock(params) ptp_generic_no_data(params,PTP_OC_CANON_FocusLock,0)</span> <a name="l02246"></a>02246 <span class="preprocessor"></span> <a name="l02258"></a>02258 <span class="preprocessor">#define ptp_canon_focusunlock(params) ptp_generic_no_data(params,PTP_OC_CANON_FocusUnlock,0)</span> <a name="l02259"></a>02259 <span class="preprocessor"></span> <a name="l02269"></a>02269 <span class="preprocessor">#define ptp_canon_keepdeviceon(params) ptp_generic_no_data(params,PTP_OC_CANON_KeepDeviceOn,0)</span> <a name="l02270"></a>02270 <span class="preprocessor"></span> <a name="l02280"></a>02280 <span class="preprocessor">#define ptp_canon_eos_keepdeviceon(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_KeepDeviceOn,0)</span> <a name="l02281"></a>02281 <span class="preprocessor"></span> <a name="l02298"></a>02298 <span class="preprocessor">#define ptp_canon_initiatecaptureinmemory(params) ptp_generic_no_data(params,PTP_OC_CANON_InitiateCaptureInMemory,0)</span> <a name="l02299"></a>02299 <span class="preprocessor"></span> <a name="l02309"></a>02309 <span class="preprocessor">#define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop)</span> <a name="l02310"></a>02310 <span class="preprocessor"></span> <a name="l02322"></a>02322 <span class="preprocessor">#define ptp_canon_eos_capture(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RemoteRelease,0)</span> <a name="l02323"></a>02323 <span class="preprocessor"></span>uint16_t ptp_canon_eos_getevent (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPCanon__changes__entry.html">PTPCanon_changes_entry</a> **entries, <span class="keywordtype">int</span> *nrofentries); <a name="l02324"></a>02324 uint16_t ptp_canon_getpartialobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t handle, <a name="l02325"></a>02325 uint32_t offset, uint32_t size, <a name="l02326"></a>02326 uint32_t pos, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** block, <a name="l02327"></a>02327 uint32_t* readnum); <a name="l02328"></a>02328 uint16_t ptp_canon_getviewfinderimage (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** image, <a name="l02329"></a>02329 uint32_t* size); <a name="l02330"></a>02330 uint16_t ptp_canon_getchanges (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t** props, <a name="l02331"></a>02331 uint32_t* propnum); <a name="l02332"></a>02332 uint16_t ptp_canon_getobjectinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t store, <a name="l02333"></a>02333 uint32_t p2, uint32_t parenthandle, <a name="l02334"></a>02334 uint32_t handle, <a name="l02335"></a>02335 <a class="code" href="struct__PTPCANONFolderEntry.html">PTPCANONFolderEntry</a>** entries, <a name="l02336"></a>02336 uint32_t* entnum); <a name="l02337"></a>02337 uint16_t ptp_canon_eos_getdeviceinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPCanonEOSDeviceInfo.html">PTPCanonEOSDeviceInfo</a>*di); <a name="l02348"></a>02348 <span class="preprocessor">#define ptp_canon_eos_setuilock(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetUILock,0)</span> <a name="l02349"></a>02349 <span class="preprocessor"></span> <a name="l02359"></a>02359 <span class="preprocessor">#define ptp_canon_eos_resetuilock(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_ResetUILock,0)</span> <a name="l02360"></a>02360 <span class="preprocessor"></span> <a name="l02370"></a>02370 <span class="preprocessor">#define ptp_canon_eos_start_viewfinder(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_InitiateViewfinder,0)</span> <a name="l02371"></a>02371 <span class="preprocessor"></span> <a name="l02381"></a>02381 <span class="preprocessor">#define ptp_canon_eos_end_viewfinder(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TerminateViewfinder,0)</span> <a name="l02382"></a>02382 <span class="preprocessor"></span>uint16_t ptp_canon_eos_get_viewfinder_image (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02383"></a>02383 uint16_t ptp_canon_get_objecthandle_by_name (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">char</span>* name, uint32_t* objectid); <a name="l02384"></a>02384 uint16_t ptp_canon_get_directory (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPObjectHandles.html">PTPObjectHandles</a> *handles, <a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a> **oinfos, uint32_t **flags); <a name="l02395"></a>02395 <span class="preprocessor">#define ptp_canon_setobjectarchive(params,oid,flags) ptp_generic_no_data(params,PTP_OC_CANON_SetObjectArchive,2,oid,flags)</span> <a name="l02396"></a>02396 <span class="preprocessor"></span>uint16_t ptp_canon_get_customize_data (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t themenr, <a name="l02397"></a>02397 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02398"></a>02398 uint16_t ptp_canon_getpairinginfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t nr, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>*); <a name="l02399"></a>02399 <a name="l02400"></a>02400 uint16_t ptp_canon_eos_getstorageids (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPStorageIDs.html">PTPStorageIDs</a>* storageids); <a name="l02401"></a>02401 uint16_t ptp_canon_eos_getstorageinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t p1); <a name="l02402"></a>02402 uint16_t ptp_canon_eos_getpartialobject (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t oid, uint32_t off, uint32_t xsize, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**data); <a name="l02403"></a>02403 uint16_t ptp_canon_eos_setdevicepropvalueex (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size); <a name="l02404"></a>02404 <span class="preprocessor">#define ptp_canon_eos_setremotemode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetRemoteMode,1,p1)</span> <a name="l02405"></a>02405 <span class="preprocessor"></span><span class="preprocessor">#define ptp_canon_eos_seteventmode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetEventMode,1,p1)</span> <a name="l02406"></a>02406 <span class="preprocessor"></span> <a name="l02417"></a>02417 <span class="preprocessor">#define ptp_canon_eos_transfercomplete(params,oid) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TransferComplete,1,oid)</span> <a name="l02418"></a>02418 <span class="preprocessor"></span><span class="comment">/* inHDD = %d, inLength =%d, inReset = %d */</span> <a name="l02419"></a>02419 <span class="preprocessor">#define ptp_canon_eos_pchddcapacity(params,p1,p2,p3) ptp_generic_no_data(params,PTP_OC_CANON_EOS_PCHDDCapacity,3,p1,p2,p3)</span> <a name="l02420"></a>02420 <span class="preprocessor"></span><span class="preprocessor">#define ptp_canon_eos_bulbstart(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_BulbStart,1)</span> <a name="l02421"></a>02421 <span class="preprocessor"></span><span class="preprocessor">#define ptp_canon_eos_bulbend(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_BulbEnd,1)</span> <a name="l02422"></a>02422 <span class="preprocessor"></span>uint16_t ptp_canon_eos_getdevicepropdesc (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t propcode, <a name="l02423"></a>02423 <a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a> *devicepropertydesc); <a name="l02424"></a>02424 uint16_t ptp_canon_eos_setdevicepropvalue (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t propcode, <a name="l02425"></a>02425 <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a>* value, uint16_t datatype); <a name="l02426"></a>02426 uint16_t ptp_nikon_get_vendorpropcodes (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t **props, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02427"></a>02427 uint16_t ptp_nikon_curve_download (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a name="l02428"></a>02428 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02429"></a>02429 uint16_t ptp_nikon_getptpipinfo (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02430"></a>02430 uint16_t ptp_nikon_getwifiprofilelist (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params); <a name="l02431"></a>02431 uint16_t ptp_nikon_writewifiprofile (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPNIKONWifiProfile.html">PTPNIKONWifiProfile</a>* profile); <a name="l02443"></a>02443 <span class="preprocessor">#define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params,PTP_OC_NIKON_DeleteProfile,1,profilenr)</span> <a name="l02444"></a>02444 <span class="preprocessor"></span> <a name="l02455"></a>02455 <span class="preprocessor">#define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_NIKON_SetControlMode,1,mode)</span> <a name="l02456"></a>02456 <span class="preprocessor"></span> <a name="l02466"></a>02466 <span class="preprocessor">#define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDrive,0)</span> <a name="l02467"></a>02467 <span class="preprocessor"></span> <a name="l02477"></a>02477 <span class="preprocessor">#define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_DoAf,0)</span> <a name="l02478"></a>02478 <span class="preprocessor"></span> <a name="l02490"></a>02490 <span class="preprocessor">#define ptp_nikon_mfdrive(params,flag,amount) ptp_generic_no_data(params,PTP_OC_NIKON_MfDrive,2,flag,amount)</span> <a name="l02491"></a>02491 <span class="preprocessor"></span> <a name="l02503"></a>02503 <span class="preprocessor">#define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC_CANON_EOS_DriveLens,1,amount)</span> <a name="l02504"></a>02504 <span class="preprocessor"></span> <a name="l02515"></a>02515 <span class="preprocessor">#define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capture,1,x)</span> <a name="l02516"></a>02516 <span class="preprocessor"></span> <a name="l02526"></a>02526 <span class="preprocessor">#define ptp_nikon_capture_sdram(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfCaptureSDRAM,0)</span> <a name="l02527"></a>02527 <span class="preprocessor"></span> <a name="l02537"></a>02537 <span class="preprocessor">#define ptp_nikon_start_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_StartLiveView,0)</span> <a name="l02538"></a>02538 <span class="preprocessor"></span>uint16_t ptp_nikon_get_liveview_image (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>*); <a name="l02539"></a>02539 uint16_t ptp_nikon_get_preview_image (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>*, uint32_t*); <a name="l02550"></a>02550 <span class="preprocessor">#define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_EndLiveView,0)</span> <a name="l02551"></a>02551 <span class="preprocessor"></span>uint16_t ptp_nikon_check_event (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, <a class="code" href="struct__PTPContainer.html">PTPContainer</a> **evt, <span class="keywordtype">int</span> *evtcnt); <a name="l02552"></a>02552 uint16_t ptp_nikon_getfileinfoinblock (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint32_t p1, uint32_t p2, uint32_t p3, <a name="l02553"></a>02553 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size); <a name="l02565"></a>02565 <span class="preprocessor">#define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON_DeviceReady, 0)</span> <a name="l02566"></a>02566 <span class="preprocessor"></span>uint16_t ptp_mtp_getobjectpropssupported (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t ofc, uint32_t *propnum, uint16_t **props); <a name="l02567"></a>02567 <a name="l02568"></a>02568 <span class="comment">/* Non PTP protocol functions */</span> <a name="l02569"></a>02569 <span class="keywordtype">int</span> ptp_operation_issupported (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t operation); <a name="l02570"></a>02570 <span class="keywordtype">int</span> ptp_event_issupported (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t event); <a name="l02571"></a>02571 <span class="keywordtype">int</span> ptp_property_issupported (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t property); <a name="l02572"></a>02572 <a name="l02573"></a>02573 <span class="keywordtype">void</span> ptp_free_devicepropdesc (<a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a>* dpd); <a name="l02574"></a>02574 <span class="keywordtype">void</span> ptp_free_devicepropvalue (uint16_t dt, <a class="code" href="union__PTPPropertyValue.html">PTPPropertyValue</a>* dpd); <a name="l02575"></a>02575 <span class="keywordtype">void</span> ptp_free_objectpropdesc (<a class="code" href="struct__PTPObjectPropDesc.html">PTPObjectPropDesc</a>* dpd); <a name="l02576"></a>02576 <span class="keywordtype">void</span> ptp_free_params (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params); <a name="l02577"></a>02577 <span class="keywordtype">void</span> ptp_free_objectinfo (<a class="code" href="struct__PTPObjectInfo.html">PTPObjectInfo</a> *oi); <a name="l02578"></a>02578 <span class="keywordtype">void</span> ptp_free_object (<a class="code" href="struct__PTPObject.html">PTPObject</a> *oi); <a name="l02579"></a>02579 <a name="l02580"></a>02580 <span class="keywordtype">void</span> ptp_perror (<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t error); <a name="l02581"></a>02581 <a name="l02582"></a>02582 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a name="l02583"></a>02583 ptp_get_property_description(<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t dpc); <a name="l02584"></a>02584 <a name="l02585"></a>02585 <span class="keywordtype">int</span> <a name="l02586"></a>02586 ptp_render_property_value(<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t dpc, <a name="l02587"></a>02587 <a class="code" href="struct__PTPDevicePropDesc.html">PTPDevicePropDesc</a> *dpd, <span class="keywordtype">int</span> length, <span class="keywordtype">char</span> *out); <a name="l02588"></a>02588 <span class="keywordtype">int</span> ptp_render_ofc(<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t ofc, <span class="keywordtype">int</span> spaceleft, <span class="keywordtype">char</span> *txt); <a name="l02589"></a>02589 <span class="keywordtype">int</span> ptp_render_opcode(<a class="code" href="struct__PTPParams.html">PTPParams</a>* params, uint16_t opcode, <span class="keywordtype">int</span> spaceleft, <span class="keywordtype">char</span> *txt); <a name="l02590"></a>02590 <span class="keywordtype">int</span> ptp_render_mtp_propname(uint16_t propid, <span class="keywordtype">int</span> spaceleft, <span class="keywordtype">char</span> *txt); <a name="l02591"></a>02591 <a class="code" href="struct__MTPProperties.html">MTPProperties</a> *ptp_get_new_object_prop_entry(<a class="code" href="struct__MTPProperties.html">MTPProperties</a> **props, <span class="keywordtype">int</span> *nrofprops); <a name="l02592"></a>02592 <span class="keywordtype">void</span> ptp_destroy_object_prop(<a class="code" href="struct__MTPProperties.html">MTPProperties</a> *prop); <a name="l02593"></a>02593 <span class="keywordtype">void</span> ptp_destroy_object_prop_list(<a class="code" href="struct__MTPProperties.html">MTPProperties</a> *props, <span class="keywordtype">int</span> nrofprops); <a name="l02594"></a>02594 <a class="code" href="struct__MTPProperties.html">MTPProperties</a> *ptp_find_object_prop_in_cache(<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t <span class="keyword">const</span> handle, uint32_t <span class="keyword">const</span> attribute_id); <a name="l02595"></a>02595 <span class="keywordtype">void</span> ptp_remove_object_from_cache(<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle); <a name="l02596"></a>02596 uint16_t ptp_add_object_to_cache(<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle); <a name="l02597"></a>02597 uint16_t ptp_object_want (<a class="code" href="struct__PTPParams.html">PTPParams</a> *, uint32_t handle, <span class="keywordtype">int</span> want, <a class="code" href="struct__PTPObject.html">PTPObject</a>**retob); <a name="l02598"></a>02598 <span class="keywordtype">void</span> ptp_objects_sort (<a class="code" href="struct__PTPParams.html">PTPParams</a> *); <a name="l02599"></a>02599 uint16_t ptp_object_find (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle, <a class="code" href="struct__PTPObject.html">PTPObject</a> **retob); <a name="l02600"></a>02600 uint16_t ptp_object_find_or_insert (<a class="code" href="struct__PTPParams.html">PTPParams</a> *params, uint32_t handle, <a class="code" href="struct__PTPObject.html">PTPObject</a> **retob); <a name="l02601"></a>02601 <span class="comment">/* ptpip.c */</span> <a name="l02602"></a>02602 <span class="keywordtype">void</span> <a class="code" href="libmtp_8c.html#a547f2b896a201d46fbea3f921c651f59">ptp_nikon_getptpipguid</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* guid); <a name="l02603"></a>02603 <a name="l02604"></a>02604 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l02605"></a>02605 <span class="preprocessor"></span>} <a name="l02606"></a>02606 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span> <a name="l02607"></a>02607 <a name="l02608"></a>02608 <span class="preprocessor">#endif </span><span class="comment">/* __PTP_H__ */</span> </pre></div></div> <hr size="1"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address> </body> </html>