53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
#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;
|
|
} |