Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Config.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org)
3// Licensed under the Apache License, Version 2.0 (see LICENSE file)
4// Official repository: https://github.com/ne-app-eu/src
5
6#pragma once
7
8#ifndef __ne_arch
9#define __ne_arch (0xdeadbeef)
10#warning !! __ne_arch is not defined, setting __ne_arch as a warning value. !!
11#endif
12
13#define _ARCH __ne_arch
14
15#define _SUBSYSTEM_NET 0x1000
16#define _SUBSYSTEM_DDK 0x1000
17#define _SUBSYSTEM_SYS 0x1000
18
19#define _NE_SYSTEM (202605L)
20
21#ifndef _NEKERNEL
22#define _NEKERNEL 202609L
23#endif
24
25#ifdef __cplusplus
26#include <CoreFoundation/headers/Foundation.h>
27#include <DiskImage/headers/DiskImage.h>
28#include <KernelTest/headers/Foundation.h>
29#include <LaunchHelpers/headers/Foundation.h>
30#endif
31
32#include <MsgKit/Server.h>
33#include <POSIXKit/unistd.h>
34#include <PThreadKit/pthread.h>
35#include <SystemKit/System.h>
36#include <ThreadKit/Thread.h>
37
38#ifndef _SHARED
40#define _SHARED
41#endif
42
43#ifndef _PRIVATE
45#define _PRIVATE
46#endif
47
48#ifndef _FINAL
49#ifdef __cplusplus
50#define _FINAL final
51#else
52#define _FINAL
53#endif
54#endif
55
56#define SUBSYSTEM_HEADER_MAGIC (0xf000eee)
57
58#ifndef SUBSYSTEM_INVALID_TARGET
59#define SUBSYSTEM_INVALID_TARGET (0)
60#endif
61
62#ifndef SUBSYSTEM_POSIX_TARGET
63#define SUBSYSTEM_POSIX_TARGET (0x100)
64#endif
65
66#ifndef SUBSYSTEM_NESYSTEM_TARGET
67#define SUBSYSTEM_NESYSTEM_TARGET (SUBSYSTEM_POSIX_TARGET + 1)
68#endif
69
70#ifndef SUBSYSTEM_WINE_TARGET
71#define SUBSYSTEM_WINE_TARGET (SUBSYSTEM_POSIX_TARGET + 2)
72#endif
73
74#ifndef SUBSYSTEM_ANT_TARGET
75#define SUBSYSTEM_ANT_TARGET (SUBSYSTEM_POSIX_TARGET + 3)
76#endif
77
79struct _SHARED SUBSYSTEM_INFO_MANIFEST _FINAL {
82 _PRIVATE SInt32 fVersion, fFlags, fImageKind;
83 _PRIVATE Char fName[FILE_MAX_LEN];
85 _PRIVATE Char fRootPath[FILE_MAX_LEN];
87};
88
89IMPORT_C Void SubsystemInfoManifestInit(_InOut SUBSYSTEM_INFO_MANIFEST* manifest_in,
90 _Input SizeT in);
91
92
93IMPORT_C Void SubsystemInfoManifestInitII(_Output SUBSYSTEM_INFO_MANIFEST* manifest_in,
94 _Input SizeT in, _Input SInt32 target,
95 _Input SInt32 version, _Input SInt32 flags,
96 _Input SInt32 image_kind, _Input Char* name,
97 _Input SizeT name_sz, _Input Char* root_path,
98 _Input SizeT root_path_sz);
99
100IMPORT_C SInt32 SubsystemInfoManifestValidate(_Input SUBSYSTEM_INFO_MANIFEST* manifest_in);
101
102IMPORT_C Void SubsystemInfoManifestSetName(_InOut SUBSYSTEM_INFO_MANIFEST* manifest_in,
103 _Input Char* name, _Input SizeT name_sz);
104
105IMPORT_C Void SubsystemInfoManifestSetRootPath(_InOut SUBSYSTEM_INFO_MANIFEST* manifest_in,
106 _Input Char* root_path, _Input SizeT root_path_sz);
107
108IMPORT_C Void SubsystemInfoTerminate(_InOut SUBSYSTEM_INFO_MANIFEST* manifest_in);
#define flags
const int in
const char * name
Definition codecvt1.cpp:72
#define _PRIVATE
Private attribute for the host pattern.
Definition Config.h:25
IMPORT_C Void SubsystemInfoManifestSetRootPath(_InOut SUBSYSTEM_INFO_MANIFEST *manifest_in, _Input Char *root_path, _Input SizeT root_path_sz)
IMPORT_C Void SubsystemInfoManifestInit(_InOut SUBSYSTEM_INFO_MANIFEST *manifest_in, _Input SizeT in)
IMPORT_C SInt32 SubsystemInfoManifestValidate(_Input SUBSYSTEM_INFO_MANIFEST *manifest_in)
IMPORT_C Void SubsystemInfoManifestInitII(_Output SUBSYSTEM_INFO_MANIFEST *manifest_in, _Input SizeT in, _Input SInt32 target, _Input SInt32 version, _Input SInt32 flags, _Input SInt32 image_kind, _Input Char *name, _Input SizeT name_sz, _Input Char *root_path, _Input SizeT root_path_sz)
#define _SHARED
Shared attribute for the host pattern.
Definition Config.h:40
IMPORT_C Void SubsystemInfoManifestSetName(_InOut SUBSYSTEM_INFO_MANIFEST *manifest_in, _Input Char *name, _Input SizeT name_sz)
IMPORT_C Void SubsystemInfoTerminate(_InOut SUBSYSTEM_INFO_MANIFEST *manifest_in)
The Subsystem Information for Program Loader.
Definition Config.h:46
_PRIVATE SInt32 fFlags
Definition Config.h:82
_PRIVATE SInt32 fSubsystemTarget
Definition Config.h:81
_PRIVATE SizeT fRootPathSz
Definition Config.h:86
_PRIVATE SizeT fNameSz
Definition Config.h:84
_PRIVATE SInt32 fMagic
Definition Config.h:80