diff fuhtark_test/include/winapi/nb30.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/nb30.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,216 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef NCB_INCLUDED
+#define NCB_INCLUDED
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define NCBNAMSZ 16
+#define MAX_LANA 254
+
+  typedef struct _NCB {
+    UCHAR ncb_command;
+    UCHAR ncb_retcode;
+    UCHAR ncb_lsn;
+    UCHAR ncb_num;
+    PUCHAR ncb_buffer;
+    WORD ncb_length;
+    UCHAR ncb_callname[NCBNAMSZ];
+    UCHAR ncb_name[NCBNAMSZ];
+    UCHAR ncb_rto;
+    UCHAR ncb_sto;
+    void (CALLBACK *ncb_post)(struct _NCB *);
+    UCHAR ncb_lana_num;
+    UCHAR ncb_cmd_cplt;
+#ifdef _WIN64
+    UCHAR ncb_reserve[18];
+#else
+    UCHAR ncb_reserve[10];
+#endif
+    HANDLE ncb_event;
+
+  } NCB,*PNCB;
+
+  typedef struct _ADAPTER_STATUS {
+    UCHAR adapter_address[6];
+    UCHAR rev_major;
+    UCHAR reserved0;
+    UCHAR adapter_type;
+    UCHAR rev_minor;
+    WORD duration;
+    WORD frmr_recv;
+    WORD frmr_xmit;
+    WORD iframe_recv_err;
+    WORD xmit_aborts;
+    DWORD xmit_success;
+    DWORD recv_success;
+    WORD iframe_xmit_err;
+    WORD recv_buff_unavail;
+    WORD t1_timeouts;
+    WORD ti_timeouts;
+    DWORD reserved1;
+    WORD free_ncbs;
+    WORD max_cfg_ncbs;
+    WORD max_ncbs;
+    WORD xmit_buf_unavail;
+    WORD max_dgram_size;
+    WORD pending_sess;
+    WORD max_cfg_sess;
+    WORD max_sess;
+    WORD max_sess_pkt_size;
+    WORD name_count;
+  } ADAPTER_STATUS,*PADAPTER_STATUS;
+
+  typedef struct _NAME_BUFFER {
+    UCHAR name[NCBNAMSZ];
+    UCHAR name_num;
+    UCHAR name_flags;
+  } NAME_BUFFER,*PNAME_BUFFER;
+
+#define NAME_FLAGS_MASK 0x87
+
+#define GROUP_NAME 0x80
+#define UNIQUE_NAME 0x00
+
+#define REGISTERING 0x00
+#define REGISTERED 0x04
+#define DEREGISTERED 0x05
+#define DUPLICATE 0x06
+#define DUPLICATE_DEREG 0x07
+
+  typedef struct _SESSION_HEADER {
+    UCHAR sess_name;
+    UCHAR num_sess;
+    UCHAR rcv_dg_outstanding;
+    UCHAR rcv_any_outstanding;
+  } SESSION_HEADER,*PSESSION_HEADER;
+
+  typedef struct _SESSION_BUFFER {
+    UCHAR lsn;
+    UCHAR state;
+    UCHAR local_name[NCBNAMSZ];
+    UCHAR remote_name[NCBNAMSZ];
+    UCHAR rcvs_outstanding;
+    UCHAR sends_outstanding;
+  } SESSION_BUFFER,*PSESSION_BUFFER;
+
+#define LISTEN_OUTSTANDING 0x01
+#define CALL_PENDING 0x02
+#define SESSION_ESTABLISHED 0x03
+#define HANGUP_PENDING 0x04
+#define HANGUP_COMPLETE 0x05
+#define SESSION_ABORTED 0x06
+
+  typedef struct _LANA_ENUM {
+    UCHAR length;
+    UCHAR lana[MAX_LANA+1];
+  } LANA_ENUM,*PLANA_ENUM;
+
+  typedef struct _FIND_NAME_HEADER {
+    WORD node_count;
+    UCHAR reserved;
+    UCHAR unique_group;
+  } FIND_NAME_HEADER,*PFIND_NAME_HEADER;
+
+  typedef struct _FIND_NAME_BUFFER {
+    UCHAR length;
+    UCHAR access_control;
+    UCHAR frame_control;
+    UCHAR destination_addr[6];
+    UCHAR source_addr[6];
+    UCHAR routing_info[18];
+  } FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
+
+  typedef struct _ACTION_HEADER {
+    ULONG transport_id;
+    USHORT action_code;
+    USHORT reserved;
+  } ACTION_HEADER,*PACTION_HEADER;
+
+#define ALL_TRANSPORTS "M\0\0\0"
+#define MS_NBF "MNBF"
+
+#define NCBCALL 0x10
+#define NCBLISTEN 0x11
+#define NCBHANGUP 0x12
+#define NCBSEND 0x14
+#define NCBRECV 0x15
+#define NCBRECVANY 0x16
+#define NCBCHAINSEND 0x17
+#define NCBDGSEND 0x20
+#define NCBDGRECV 0x21
+#define NCBDGSENDBC 0x22
+#define NCBDGRECVBC 0x23
+#define NCBADDNAME 0x30
+#define NCBDELNAME 0x31
+#define NCBRESET 0x32
+#define NCBASTAT 0x33
+#define NCBSSTAT 0x34
+#define NCBCANCEL 0x35
+#define NCBADDGRNAME 0x36
+#define NCBENUM 0x37
+#define NCBUNLINK 0x70
+#define NCBSENDNA 0x71
+#define NCBCHAINSENDNA 0x72
+#define NCBLANSTALERT 0x73
+#define NCBACTION 0x77
+#define NCBFINDNAME 0x78
+#define NCBTRACE 0x79
+
+#define ASYNCH 0x80
+
+#define NRC_GOODRET 0x00
+
+#define NRC_BUFLEN 0x01
+#define NRC_ILLCMD 0x03
+#define NRC_CMDTMO 0x05
+#define NRC_INCOMP 0x06
+#define NRC_BADDR 0x07
+#define NRC_SNUMOUT 0x08
+#define NRC_NORES 0x09
+#define NRC_SCLOSED 0x0a
+#define NRC_CMDCAN 0x0b
+#define NRC_DUPNAME 0x0d
+#define NRC_NAMTFUL 0x0e
+#define NRC_ACTSES 0x0f
+#define NRC_LOCTFUL 0x11
+#define NRC_REMTFUL 0x12
+#define NRC_ILLNN 0x13
+#define NRC_NOCALL 0x14
+#define NRC_NOWILD 0x15
+#define NRC_INUSE 0x16
+#define NRC_NAMERR 0x17
+#define NRC_SABORT 0x18
+#define NRC_NAMCONF 0x19
+#define NRC_IFBUSY 0x21
+#define NRC_TOOMANY 0x22
+#define NRC_BRIDGE 0x23
+#define NRC_CANOCCR 0x24
+#define NRC_CANCEL 0x26
+#define NRC_DUPENV 0x30
+#define NRC_ENVNOTDEF 0x34
+#define NRC_OSRESNOTAV 0x35
+#define NRC_MAXAPPS 0x36
+#define NRC_NOSAPS 0x37
+#define NRC_NORESOURCES 0x38
+#define NRC_INVADDRESS 0x39
+#define NRC_INVDDID 0x3B
+#define NRC_LOCKFAIL 0x3C
+#define NRC_OPENERR 0x3f
+#define NRC_SYSTEM 0x40
+
+#define NRC_PENDING 0xff
+
+  UCHAR WINAPI Netbios(PNCB pncb);
+
+#define NCB_POST void CALLBACK
+
+#ifdef __cplusplus
+}
+#endif
+#endif