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

1665 {
1666 #ifdef CAM_CHDK_PTP
1667  return _add_ptp_handler(opcode,handler,unknown);
1668 #else
1669  return 0;
1670 #endif
1671 }
ptp_script_msg* ptp_script_create_msg ( unsigned  type,
unsigned  subtype,
unsigned  datasize,
const void *  data 
)

Definiert in Zeile 359 der Datei ptp.c.

359  {
360  ptp_script_msg *msg;
361  msg = malloc(sizeof(ptp_script_msg) + datasize);
362  msg->size = datasize;
363  msg->type = type;
364  msg->subtype = subtype;
365  // caller may fill in data themselves
366  // datasize may be empty (e.g. empty string)
367  if(data && datasize) {
368  memcpy(msg->data,data,msg->size);
369  }
370  return msg;
371 }
ptp_script_msg* ptp_script_read_msg ( void  )

Definiert in Zeile 380 der Datei ptp.c.

380  {
381  ptp_script_msg *msg;
382  while(1) {
383  msg = dequeue_script_msg(&msg_q_in);
384  // no messages
385  if(!msg) {
386  return NULL;
387  }
388  // does message belong to our script
389  if(!msg->script_id || msg->script_id == script_run_id) {
390  return msg;
391  } else {
392  // no: discard and keep looking
393  free(msg);
394  }
395  }
396 }
int ptp_script_write_error_msg ( unsigned  errtype,
const char *  err 
)

Definiert in Zeile 399 der Datei ptp.c.

399  {
401  return 0;
402  }
404  if(!msg) {
405  return 0;
406  }
407  return ptp_script_write_msg(msg);
408 }
int ptp_script_write_msg ( ptp_script_msg msg)

Definiert in Zeile 374 der Datei ptp.c.

374  {
375  msg->script_id = script_run_id;
376  return enqueue_script_msg(&msg_q_out,msg);
377 }