neonucleus/src/computer.h
IonutParau 51b3602088 experimental baremetal
we no longer depend on libc
2025-07-09 19:17:57 +02:00

48 lines
1.1 KiB
C

#ifndef NEONUCLEUS_COMPUTER_H
#define NEONUCLEUS_COMPUTER_H
#include "neonucleus.h"
typedef struct nn_signal {
nn_size_t len;
nn_value values[NN_MAX_SIGNAL_VALS];
} nn_signal;
typedef struct nn_computer {
char state;
nn_bool_t allocatedError;
char *err;
void *userdata;
nn_guard *lock;
nn_component *components;
nn_size_t componentLen;
nn_size_t componentCap;
nn_value args[NN_MAX_ARGS];
nn_size_t argc;
nn_value rets[NN_MAX_RETS];
nn_size_t retc;
nn_architecture *arch;
void *archState;
nn_architecture *nextArch;
nn_architecture *supportedArch[NN_MAX_ARCHITECTURES];
nn_size_t supportedArchCount;
double timeOffset;
nn_universe *universe;
char *users[NN_MAX_USERS];
nn_size_t userCount;
double energy;
double maxEnergy;
nn_signal signals[NN_MAX_SIGNALS];
nn_size_t signalCount;
nn_size_t memoryTotal;
nn_address address;
nn_address tmpAddress;
double temperature;
double temperatureCoefficient;
double roomTemperature;
double callCost;
double callBudget;
} nn_computer;
#endif