Objective-CamlCaml is a general-purpose programming language, designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles. It has been developed and distributed by INRIA, France's national research institute for computer science, since 1985.
http://caml.inria.fr/LibPTPlibptp2 is a library used to communicate with PTP devices like still
imaging cameras or MP3 players (KODAK mc3). You can download files
or tweak camera properties using ptpcam program boundled with libptp2.
http://libptp.sourceforge.net/