#include <stdlib.h> typedef struct Node Node; typedef enum { FILE_NODE, DIR_NODE } NodeType; struct Node { char* name; NodeType type; union { struct { size_t size; // File-specific data } file; struct { Node** children; // Array of child pointers size_t num_children; // Number of children } directory; } data; };