(a)
#include "myheader.h" 
MY_STRUCT *ptr; 
ptr = (MY_STRUCT *) BASE_ADDRESS; 
ptr->command.arg1 = 1; 
ptr->command.arg2 = 2; 

(b)
ptr = (MY_STRUCT *) __va(BASE_ADDRESS) 

Example 4: (a) In Linux kernels 2.0.XX, the pointer can be set directly; (b) in Linux kernels 2.1.XX, the pointer needs to be mapped via a call to the __va() macro.

Back to Article
Copyright © 1999, Dr. Dobb's Journal