refactor config loading
This commit is contained in:
53
manifest_src/generate_manifest_segments_defines.c
Normal file
53
manifest_src/generate_manifest_segments_defines.c
Normal file
@@ -0,0 +1,53 @@
|
||||
#include "mem.h"
|
||||
#include "mem_seg.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
if(argc != 2)
|
||||
{
|
||||
printf("provide target directory\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char *dirpath = argv[1];
|
||||
const char *filename = "seg_data.csv";
|
||||
|
||||
char *tgtpath = (char*)calloc(strlen(dirpath) + strlen(filename) + 1, sizeof(char));
|
||||
if(tgtpath == NULL)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
sprintf(tgtpath, "%s/%s", dirpath, filename);
|
||||
|
||||
FILE *fptr;
|
||||
|
||||
fptr = fopen(tgtpath, "w");
|
||||
|
||||
if(fptr == NULL)
|
||||
{
|
||||
printf("errof opening file\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
memseg_metadata_t requiredSegments[] = MEMSEG_DEFINES;
|
||||
|
||||
|
||||
fprintf(fptr, "seg_id;name;word_len;default_size;default_addr;is_executable\n");
|
||||
|
||||
|
||||
for(size_t i = 0; i < sizeof(requiredSegments)/sizeof(memseg_metadata_t); i++)
|
||||
{
|
||||
const memseg_metadata_t seg_def = requiredSegments[i];
|
||||
fprintf(fptr, "%d;%s;%d;%lu;%lu;%d\n", seg_def.seg_id, seg_def.name, seg_def.word_len, seg_def.default_size, seg_def.default_addr, seg_def.is_executable);
|
||||
}
|
||||
|
||||
|
||||
fclose(fptr);
|
||||
free(tgtpath);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user