(2006-08-06) rescue-bootcd
This commit is contained in:
69
extra/linux-2.6.10/drivers/block/paride/setup.h
Normal file
69
extra/linux-2.6.10/drivers/block/paride/setup.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
setup.h (c) 1997-8 Grant R. Guenther <grant@torque.net>
|
||||
Under the terms of the GNU General Public License.
|
||||
|
||||
This is a table driven setup function for kernel modules
|
||||
using the module.variable=val,... command line notation.
|
||||
|
||||
*/
|
||||
|
||||
/* Changes:
|
||||
|
||||
1.01 GRG 1998.05.05 Allow negative and defaulted values
|
||||
|
||||
*/
|
||||
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/string.h>
|
||||
|
||||
struct setup_tab_t {
|
||||
|
||||
char *tag; /* variable name */
|
||||
int size; /* number of elements in array */
|
||||
int *iv; /* pointer to variable */
|
||||
};
|
||||
|
||||
typedef struct setup_tab_t STT;
|
||||
|
||||
/* t is a table that describes the variables that can be set
|
||||
by gen_setup
|
||||
n is the number of entries in the table
|
||||
ss is a string of the form:
|
||||
|
||||
<tag>=[<val>,...]<val>
|
||||
*/
|
||||
|
||||
static void generic_setup( STT t[], int n, char *ss )
|
||||
|
||||
{ int j,k, sgn;
|
||||
|
||||
k = 0;
|
||||
for (j=0;j<n;j++) {
|
||||
k = strlen(t[j].tag);
|
||||
if (strncmp(ss,t[j].tag,k) == 0) break;
|
||||
}
|
||||
if (j == n) return;
|
||||
|
||||
if (ss[k] == 0) {
|
||||
t[j].iv[0] = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ss[k] != '=') return;
|
||||
ss += (k+1);
|
||||
|
||||
k = 0;
|
||||
while (ss && (k < t[j].size)) {
|
||||
if (!*ss) break;
|
||||
sgn = 1;
|
||||
if (*ss == '-') { ss++; sgn = -1; }
|
||||
if (!*ss) break;
|
||||
if (isdigit(*ss))
|
||||
t[j].iv[k] = sgn * simple_strtoul(ss,NULL,0);
|
||||
k++;
|
||||
if ((ss = strchr(ss,',')) != NULL) ss++;
|
||||
}
|
||||
}
|
||||
|
||||
/* end of setup.h */
|
||||
|
||||
Reference in New Issue
Block a user