programming

[Linux] Asynchrone Funktionsaufrufe (fastboot)

Sven Bachmann
Seit dem 2.6.29-rc1 Kernel wurde angefangen, asynchrone Funktionsaufrufe zu implementieren. Damit wird es möglich, bspw. beim Booten gleichzeitig die Erkennung der Festplatten laufen zu lassen (was leider etwas dauert) und trotzdem auch andere Geräte zu testen. Momentan laufen diese Vorgänge seriell ab. Seriell hat natürlich den Vorteil, dass die Festplatten auch schon erkannt wurden, bevor der Bootprozess versucht davon zu booten :-) Und genau deshalb wurde jetzt eine neue API entwickelt, bzw.

Coding C: Warning: [...] is COMMON symbol

Sven Bachmann
Hi, if you’re writing a kernel module and get the following error: *** Warning: "symbol_name" [/path/to/module] is COMMON symbol Than its possible that you simply forgot to mark it as static. Thanks for this fix goes to Brad Aisa from the website KernelTrap. Bye, Sven

Coding C: initialize structs in definition

Sven Bachmann
Hi, Task We have a included struct called counter and we don’t want to assign the initial values in the main function. Solution source.c #include <counters.h> struct counter_t counter = { .max_value = 1234, }; int main(void) { return(0); } Bye, Sven

Coding C: put timestamp into your project

Sven Bachmann
Hi there, Task We have a Makefile, we have a C file, now we want update a timestamp whenever the C file is compiled. Solution Makefile CFLAGS += -D__TIMESTAMP__=\""$(shell date +%Y/%m/%d\ %H:%M:%S)"\" source.c include <stdio.h> #ifndef __TIMESTAMP__ #define __TIMESTAMP__ "NO TIMESTAMP DEFINED" #endif /* __TIMESTAMP__ */ int main(void) { printf("my tool (TS: %s)\n", __TIMESTAMP__); return(0); } Output ~$ ./source my tool (TS: 2008/11/06 09:55:22) Bye, Sven

Hacking Digital Cameras

Sven Bachmann
Hi there, I just red an article on the german website heise.de about hacking Canon Digital Cameras. The project is called CHDK. Sounds really interesting to enhance the features of a standard camera. The only problem… I have a Casio ;-) Bye Sven