[阅读: 392] 2007-07-04 10:05:35
typedef Tdev=struct
{ Tinitfun pi;
Tfreefun pf;
b char;
}
Tdev devs[]={
{init1,free1,0},
{init2,free2,0},
{init3,free3,0},
{init4,free4,0}
};
int initall()
{
for (i=0; i<sizeof(devs)/* /sizeof(devs[0])? */; i++)
devs[i].b=0;
for (i=0; i<sizeof(devs)/* /sizeof(devs[0])? */; i++)
{
if (devs[i].pi())
devs[i].b=1;
else
return 0;
}
return 1;
}
int freeall()
{
for (i=sizeof(devs)/* /sizeof(devs[0])? */-1; i>=0 i--)
if (devs[i].b)
devs[i].pf();
return 1;
}
main ()
{
if (! initall())
freeall();
}