<sys/ioccom.h> {CALLING all C/C++ buffs!; }
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.
Those are bitmasks. They're being put in the inout parameter and then binary or'ed with a bunch of other stuff. They set a particular bit in the output, which marks whether we're doing a 'copy out' or a 'copy in', whatever those are. You should definitely look up bitwise operators if you're going to do much low level C stuff.
_________________
"A dead thing can go with the stream, but only a living thing can go against it." --G. K. Chesterton
AngelKnight
Veteran
Joined: 3 May 2011
Age: 47
Gender: Male
Posts: 749
Location: This is not my home; I'm just passing through
I'm guessing you're going to actually run this stuff within a BSD of some description? If so, why not use the provided interfaces, why try to bitbang the registers on a device by hand while running within BSD?
Similar Topics | |
---|---|
Question about fear about calling 911 for mental health
in Bipolar, Tourettes, Schizophrenia, and other Psychological Conditions |
06 Apr 2024, 7:09 pm |
Gay Rights Activists Calling For More International Pressure |
06 Apr 2024, 7:46 pm |