/* =====================================
 * Generated by Mod-c 0.26.5
 * HEADER codegen_header MODULE
 * ===================================== */

#ifndef MODC_MODULE_codegen_header_H
#define MODC_MODULE_codegen_header_H

#include <stdint.h>
#include <stdbool.h>
#include <assert.h>

#define nil ((void *)0)
#define NIL nil
typedef uint8_t byte;
typedef const char* string;
typedef int integer;
typedef unsigned int cardinal;
typedef float real;

/**
 * Mod-c
 * By M. Scott Reynolds
 * Date 11 July 2026
 *
 * codegen_header.mc - Generate header file from AST.
 *
 * Generation of C header files (.h) for the -H option.
 * Only emits the exported surface of a program/module.
 */

/* === IMPORT === */
#include "dynbuf.h"

/* === IMPORT === */
#include "stddef.h"

/* === IMPORT === */
#include "stdlib.h"

/* === IMPORT === */
#include "codegen_common.h"

/* === IMPORT === */
#include "ttype.h"

/* === IMPORT === */
#include "node.h"

/* === IMPORT === */
#include "Lexer.h"

/* === IMPORT === */
#include "version.h"

/* === IMPORT === */
#include "stdio.h"

/**
 * Emit Header PROCEDURE or FUNCTION declaration.
 * All treated as a prototype.
 */

/**
 * Generate header exported declaration
 */

/**
 * Walk the AST, create header file, and emit only exported declarations.
 */

/**
 * Generate a C header file from the given AST.
 * This is the entry point called when TARGET_HEADER is
 * selected.
 */

void codegen_header(CodegenContext ctx);

#endif /* MODC_MODULE_codegen_header_H */
