Skip to content
Snippets Groups Projects

Add memory counters and fix makefile

Merged floreal.risso requested to merge pr_final into devel
16 files
+ 672
248
Compare changes
  • Side-by-side
  • Inline
Files
16
+ 57
28
@@ -18,8 +18,10 @@
*******************************************************/
// ~/mojitos/doc/$ gcc -Wall -Wextra -Wpedantic -O3 -o info_reader_ex
// info_reader_ex.c ./../src/util.c && ./info_reader_ex
// ~/mojitos/doc/$ gcc -Wall -Wextra -Wpedantic -O3 -o info_reader_ex info_reader_ex.c ./../src/util.c && ./info_reader_ex
#include "./../lib/info_reader.c"
#include "./../lib/info_reader.h"
#define MAX_PROCS 64
@@ -40,7 +42,7 @@ typedef struct {
GenericPointer int_allocator(char *s)
{
unsigned int value = atoi(s);
return (GenericPointer) value;
return (GenericPointer)value;
}
// -- Define the behaviour if the attempted value is a string
@@ -48,49 +50,49 @@ GenericPointer string_allocator(char *s)
{
char *value = malloc(strlen(s) + 1);
strcpy(value, s);
return (GenericPointer) value;
return (GenericPointer)value;
}
// -- Define the processor setter
void set_processor(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
Cpu *cpu = (Cpu *)storage;
cpu->processor = data;
}
// -- Define the vendor_id setter
void set_vendor_id(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
cpu->vendor_id = (char *) data;
Cpu *cpu = (Cpu *)storage;
cpu->vendor_id = (char *)data;
}
// -- Define the family setter
void set_family(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
Cpu *cpu = (Cpu *)storage;
cpu->family = data;
}
// -- Define the core_id setter
void set_core_id(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
Cpu *cpu = (Cpu *)storage;
cpu->core_id = data;
}
// -- Define the physical_id setter
void set_physical_id(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
Cpu *cpu = (Cpu *)storage;
cpu->physical_id = data;
}
// -- Define the model_name setter
void set_model_name(GenericPointer storage, GenericPointer data)
{
Cpu *cpu = (Cpu *) storage;
cpu->model_name = (char *) data;
Cpu *cpu = (Cpu *)storage;
cpu->model_name = (char *)data;
}
int main()
@@ -98,26 +100,54 @@ int main()
Cpu cpus[MAX_PROCS];
// -- Define the setter, the allocator for each key / separator.
KeyFinder keys[] = {
{.key = "processor", .delimiter = ": ", .copy = (CopyAllocator *) int_allocator, .set = (Setter *)set_processor},
{.key = "vendor_id", .delimiter = ": ", .copy = (CopyAllocator *) string_allocator, .set = (Setter *)set_vendor_id},
{.key = "cpu family", .delimiter = ": ", .copy = (CopyAllocator *) int_allocator, .set = (Setter *)set_family},
{.key = "core id", .delimiter = ": ", .copy = (CopyAllocator *) int_allocator, .set = (Setter *)set_core_id},
{.key = "physical id", .delimiter = ": ", .copy = (CopyAllocator *) int_allocator, .set = (Setter *)set_physical_id},
{.key = "model name", .delimiter = ": ", .copy = (CopyAllocator *) string_allocator, .set = (Setter *)set_model_name}
KeyFinder keys[] = {{
.key = "processor",
.delimiter = ": ",
.copy = (CopyAllocator *)int_allocator,
.set = (Setter *)set_processor
},
{
.key = "vendor_id",
.delimiter = ": ",
.copy = (CopyAllocator *)string_allocator,
.set = (Setter *)set_vendor_id
},
{
.key = "cpu family",
.delimiter = ": ",
.copy = (CopyAllocator *)int_allocator,
.set = (Setter *)set_family
},
{
.key = "core id",
.delimiter = ": ",
.copy = (CopyAllocator *)int_allocator,
.set = (Setter *)set_core_id
},
{
.key = "physical id",
.delimiter = ": ",
.copy = (CopyAllocator *)int_allocator,
.set = (Setter *)set_physical_id
},
{
.key = "model name",
.delimiter = ": ",
.copy = (CopyAllocator *)string_allocator,
.set = (Setter *)set_model_name
}
};
size_t nb_keys = sizeof(keys)/sizeof(KeyFinder);
size_t nb_keys = sizeof(keys) / sizeof(KeyFinder);
// -- Init the parser
Parser parser = {
.storage = (GenericPointer) cpus,
.capacity = MAX_PROCS,
.storage_struct_size = sizeof(Cpu),
.keys = keys,
.nb_keys = nb_keys,
.file = fopen("/proc/cpuinfo", "r")
};
Parser parser = {.storage = (GenericPointer)cpus,
.capacity = MAX_PROCS,
.storage_struct_size = sizeof(Cpu),
.keys = keys,
.nb_keys = nb_keys,
.file = fopen("/proc/cpuinfo", "r")
};
// -- Parse the file
parse(&parser);
@@ -137,4 +167,3 @@ int main()
printf("==============================\n");
return 0;
}
Loading