12 #include <minix/config.h>
13 #include <minix/com.h>
14 #include <minix/const.h>
15 #include <minix/type.h>
16 #include <minix/ipc.h>
18 #include <minix/syslib.h>
19 #include <minix/bitmap.h>
21 #include <minix/sef.h>
22 #include <minix/dmap.h>
23 #include <sys/types.h>
25 #include <configfile.h>
27 #include <machine/archtypes.h>
38 const char *field
, *str
;
39 } configstack
[MAXDEPTH
];
46 for(i
= 0; i
< depth
; i
++)
47 printf("%s %s,", configstack
[i
].field
,
51 void print(const char *field
, const char *str
)
54 printf("%s %s\n", field
, str
);
57 void push(const char *field
, const char *str
)
59 assert(depth
< MAXDEPTH
);
60 configstack
[depth
].field
= field
;
61 configstack
[depth
].str
= str
;
67 int main(int argc
, char **argv
)
69 struct rs_config config
;
74 fprintf(stderr
, "usage: %s <config>\n", argv
[0]);
78 memset(&config
, 0, sizeof(config
));
79 if(!(label
= parse_config(NULL
, 1, argv
[1], &config
)))
80 errx(1, "parse_config failed");
82 push(KW_SERVICE
, label
);
83 if(config
.type
) push(KW_TYPE
, config
.type
);
85 if(config
.descr
) push(KW_DESCR
, config
.descr
);
86 if(config
.rs_start
.rss_nr_pci_id
> 0) {
88 printf("%s %s ", KW_PCI
, KW_DEVICE
);
89 for(id
= 0; id
< config
.rs_start
.rss_nr_pci_id
; id
++) {
91 config
.rs_start
.rss_pci_id
[id
].vid
,
92 config
.rs_start
.rss_pci_id
[id
].did
);