#ifndef VMF_NNM_IPC_CMD_H
#define VMF_NNM_IPC_CMD_H

#include <stdint.h>

/* VMF NNM alignment macros */
#define VMF_ALIGN(x, n)   (((x) + (n) - 1) & ~((n) - 1))
#define VMF_32_ALIGN(x)   VMF_ALIGN(x, 32)
#define VMF_16_ALIGN(x)   VMF_ALIGN(x, 16)
#define VMF_8_ALIGN(x)    VMF_ALIGN(x, 8)
#define VMF_4_ALIGN(x)    VMF_ALIGN(x, 4)

/* IPC command codes (stub - actual values must match libvmf_nnm.so) */
#define VMF_NNM_IPC_CMD_INFERENCE       0x0001
#define VMF_NNM_IPC_CMD_LOAD_MODEL      0x0002
#define VMF_NNM_IPC_CMD_GET_VERSION     0x0003

/* IPC header structure */
typedef struct {
    uint32_t cmd;
    uint32_t size;
    uint32_t reserved[2];
} VMF_NNM_IPC_CMD_HDR_T;

#endif /* VMF_NNM_IPC_CMD_H */
