CHDK_DE Vorschauversion  Trunk Rev. 5163
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
ptp_chdk.h-Dateireferenz
#include "ptp.h"
+ Include-Abhängigkeitsdiagramm für ptp_chdk.h:
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  PTPContainer
 
struct  ptp_data
 
struct  ptp_script_msg
 

Makrodefinitionen

#define PTP_RC_OK   0x2001
 
#define PTP_RC_GeneralError   0x2002
 
#define PTP_RC_ParameterNotSupported   0x2006
 
#define PTP_RC_InvalidParameter   0x201D
 

Typdefinitionen

typedef int(* ptp_handler )(int, ptp_data *, int, int, int, int, int, int, int, int)
 

Funktionen

int add_ptp_handler (int opcode, ptp_handler handler, int unknown)
 
int ptp_script_write_msg (ptp_script_msg *msg)
 
ptp_script_msgptp_script_read_msg (void)
 
ptp_script_msgptp_script_create_msg (unsigned type, unsigned subtype, unsigned datasize, const void *data)
 
int ptp_script_write_error_msg (unsigned errtype, const char *err)
 

Makro-Dokumentation

#define PTP_RC_GeneralError   0x2002

Definiert in Zeile 13 der Datei ptp_chdk.h.

#define PTP_RC_InvalidParameter   0x201D

Definiert in Zeile 15 der Datei ptp_chdk.h.

#define PTP_RC_OK   0x2001

Definiert in Zeile 12 der Datei ptp_chdk.h.

#define PTP_RC_ParameterNotSupported   0x2006

Definiert in Zeile 14 der Datei ptp_chdk.h.

Dokumentation der benutzerdefinierten Typen

typedef int(* ptp_handler)(int, ptp_data *, int, int, int, int, int, int, int, int)

Definiert in Zeile 42 der Datei ptp_chdk.h.

Dokumentation der Funktionen

int add_ptp_handler ( int  opcode,
ptp_handler  handler,
int  unknown 
)

Definiert in Zeile 1581 der Datei wrappers.c.

1582 {
1583 #ifdef CAM_CHDK_PTP
1584  return _add_ptp_handler(opcode,handler,unknown);
1585 #else
1586  return 0;
1587 #endif
1588 }
ptp_script_msg* ptp_script_create_msg ( unsigned  type,
unsigned  subtype,
unsigned  datasize,
const void *  data 
)

Definiert in Zeile 226 der Datei ptp.c.

226  {
227  ptp_script_msg *msg;
228  msg = malloc(sizeof(ptp_script_msg) + datasize);
229  msg->size = datasize;
230  msg->type = type;
231  msg->subtype = subtype;
232  // caller may fill in data themselves
233  // datasize may be empty (e.g. empty string)
234  if(data && datasize) {
235  memcpy(msg->data,data,msg->size);
236  }
237  return msg;
238 }
ptp_script_msg* ptp_script_read_msg ( void  )

Definiert in Zeile 247 der Datei ptp.c.

247  {
248  ptp_script_msg *msg;
249  while(1) {
250  msg = dequeue_script_msg(&msg_q_in);
251  // no messages
252  if(!msg) {
253  return NULL;
254  }
255  // does message belong to our script
256  if(!msg->script_id || msg->script_id == script_run_id) {
257  return msg;
258  } else {
259  // no: discard and keep looking
260  free(msg);
261  }
262  }
263 }
int ptp_script_write_error_msg ( unsigned  errtype,
const char *  err 
)

Definiert in Zeile 266 der Datei ptp.c.

266  {
268  return 0;
269  }
271  if(!msg) {
272  return 0;
273  }
274  return ptp_script_write_msg(msg);
275 }
int ptp_script_write_msg ( ptp_script_msg msg)

Definiert in Zeile 241 der Datei ptp.c.

241  {
242  msg->script_id = script_run_id;
243  return enqueue_script_msg(&msg_q_out,msg);
244 }