CHDK_DE Vorschauversion  Trunk Rev. 5249
 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 1624 der Datei wrappers.c.

1625 {
1626 #ifdef CAM_CHDK_PTP
1627  return _add_ptp_handler(opcode,handler,unknown);
1628 #else
1629  return 0;
1630 #endif
1631 }
ptp_script_msg* ptp_script_create_msg ( unsigned  type,
unsigned  subtype,
unsigned  datasize,
const void *  data 
)

Definiert in Zeile 331 der Datei ptp.c.

331  {
332  ptp_script_msg *msg;
333  msg = malloc(sizeof(ptp_script_msg) + datasize);
334  msg->size = datasize;
335  msg->type = type;
336  msg->subtype = subtype;
337  // caller may fill in data themselves
338  // datasize may be empty (e.g. empty string)
339  if(data && datasize) {
340  memcpy(msg->data,data,msg->size);
341  }
342  return msg;
343 }
ptp_script_msg* ptp_script_read_msg ( void  )

Definiert in Zeile 352 der Datei ptp.c.

352  {
353  ptp_script_msg *msg;
354  while(1) {
355  msg = dequeue_script_msg(&msg_q_in);
356  // no messages
357  if(!msg) {
358  return NULL;
359  }
360  // does message belong to our script
361  if(!msg->script_id || msg->script_id == script_run_id) {
362  return msg;
363  } else {
364  // no: discard and keep looking
365  free(msg);
366  }
367  }
368 }
int ptp_script_write_error_msg ( unsigned  errtype,
const char *  err 
)

Definiert in Zeile 371 der Datei ptp.c.

371  {
373  return 0;
374  }
376  if(!msg) {
377  return 0;
378  }
379  return ptp_script_write_msg(msg);
380 }
int ptp_script_write_msg ( ptp_script_msg msg)

Definiert in Zeile 346 der Datei ptp.c.

346  {
347  msg->script_id = script_run_id;
348  return enqueue_script_msg(&msg_q_out,msg);
349 }