The following code shows the declaration of the variables and the
initialization of the
cfg_subsys_attr_t
data structure for the
if_el
device driver:
static unsigned char el_pcmcia_optiondata[400] = "";
1
static unsigned char el_isa_optiondata[300] = "";
2
static unsigned char el_unused[300] = "";
static int el_polling = 0;
3
static int el_pollint = 16;
4
static int el_configured = 0;
5
static struct lan_config_data el_data = {
6
LAN_CONFIG_VERSION_ID,
0,
&eldriver,
&el_configured
};
cfg_subsys_attr_t el_attributes[] = {
7
{"PCMCIA_Option", CFG_ATTR_STRTYPE, CFG_OP_CONFIGURE | CFG_OP_QUERY,
(caddr_t)el_pcmcia_optiondata, 0, 400, 0},
8
{"ISA_Option", CFG_ATTR_STRTYPE, CFG_OP_CONFIGURE | CFG_OP_QUERY,
(caddr_t)el_isa_optiondata, 0, 300, 0},
9
{"Polling", CFG_ATTR_INTTYPE, CFG_OP_QUERY | CFG_OP_CONFIGURE,
(caddr_t)&el_polling, 0, 1, sizeof(int)},
10
{"Polls_Per_Second", CFG_ATTR_INTTYPE, CFG_OP_QUERY | CFG_OP_CONFIGURE,
(caddr_t)&el_pollint, 10, 100, sizeof(int)},
11
{"", 0, 0, 0, 0, 0, 0}
12
};
1
Declares a character array called
pcmcia_optiondata
and initializes
it to the null string. The
pcmcia_optiondata
character array is
where the
cfgmgr
framework stores the value for the
PCMCIA_Option
attribute. The
cfgmgr
framework obtains this value from the
/etc/sysconfigtab
database.
2
Declares a character array called
isa_optiondata
and initializes it
to the null string. The
isa_optiondata
character array is where the
cfgmgr
framework stores the value for the
ISA_Option
attribute. The
cfgmgr
framework obtains this value from the
/etc/sysconfigtab
database.
3
Declares an integer variable called
el_polling
and initializes it to
the value 0 (zero). The
el_polling
variable is where the
cfgmgr
framework stores the style of interrupt processing for the
Polling
attribute. The
cfgmgr
framework obtains this value from the
/etc/sysconfigtab
database.
4
Declares an integer variable called
el_pollint
and initializes it to the
value 16. The
el_pollint
variable is where the
cfgmgr
framework
stores the polls per second for the
Polls_Per_Second
attribute. The
cfgmgr
framework obtains this value from the
/etc/sysconfigtab
database.
5
Declares an integer variable called
el_configured
and initializes it
to the value 0 (zero). The driver must increment this variable for each
successfully configured
el
device.
4–2 Implementing the Configure Section