So the <sys/ioccom.h> header package contains low level I/O functions. I downloaded and compiled it as I am trying to write an implement some low(er) level network socket subfunctions that actually write data frames to the ethernet adapter. I am not writing an actual driver as one is already installed and those are device specific. You can have a look at it Here as it's open source Unix code.
It defines 2 constants which serve as parameters to the general IOC(input/ouput/control) function macro:
#define IOC_OUT 0x40000000 /* copy out parameters */
#define IOC_IN 0x80000000 /* copy in parameters */
The IOC function(s):
#define _IOC(inout,group,num,len) ((unsigned long) \ ((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8 ) | (num)))
#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t))
#define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t))
So my question is are these defined hex parameters interrupt codes? Or memory addresses? If the latter I am eager seeking how to incorporate interrupt codes into low level function macros.