From ade45f63b8e19abc9252c9686d75a5cb74f79cc8 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Thu, 25 Apr 2024 13:54:01 -0400 Subject: [PATCH] why is this working --- src/AMOSPro_BSDSocket.Lib | Bin 0 -> 5892 bytes src/BSDSocket.s | 6 +- src/BSDSocket_Labels.s | 39 +++++++ src/BSDSocket_Size.s | 5 + src/absdsocket | 9 +- src/bsdsocket_lib.fd | 107 ++++++++++++++++++++ src/bsdsocket_lvo.i | 208 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 368 insertions(+), 6 deletions(-) create mode 100644 src/AMOSPro_BSDSocket.Lib create mode 100644 src/BSDSocket_Labels.s create mode 100644 src/BSDSocket_Size.s create mode 100644 src/bsdsocket_lib.fd create mode 100644 src/bsdsocket_lvo.i diff --git a/src/AMOSPro_BSDSocket.Lib b/src/AMOSPro_BSDSocket.Lib new file mode 100644 index 0000000000000000000000000000000000000000..14341093646faa280e4ac5d92a7d950d73e443e2 GIT binary patch literal 5892 zcmeHLZ){sv6+iDiH+9o2b+Qt&X4JQjr&mKV+i|OcMm5<oM#BjZtk$iYxh z`U%LO!$#4U=<7xU?(hDBzwDKlvvC;5W$*I*qT0cjN{J(DlqJV4iUaZcJal9oZTIb3g( zKA;5DZ$O5yo+IPSMC^&IN-bAzQwiQ&ZX8+d^1^&75kOX6`*)EmXVe3oi+cG`1RK6x%=M|~fsn?|~fBp&OwCiNefTOQ%3TQnE)CfDp~Qt4Am zUT74XI2UV&RTBQ+x)vldAfkLS|lNi%CT(k;Pf)=FUCWLhM)a|zQZ6%CTiWZq}_ z-jT@_2~7-=OruyNspBMV z@zk_0T7~WVZ-Z|*Cc7iImBHbt+=KT4ynEuyPeGwCv=^jAsZjsn>xmLu+qilfPoF$| zl7av045W$~HZFd?4Zwj!WZ%AtsYv4M04t*~lqj+5!-jP*T2&sRZ~8IWU2v&*{cTPD z!^m+=fh+OiN7r|T0S*HUkiAHNmA-%C_J!|VJHzr>eHb9VJiBN?qSUI3(h{X;wGvjx z={oS(>-NW&Wt_j4F9Ou-X@G9Bw_dM*NF_a|sD0g*y}U?{%4e@G_00lKC0=EaM#n%# zslSoPqfs@gq3oMA`BoVQwoL={*f!vCfUW26I}G((RM*H+fW(XSczk(_dq)^t#2sJW z0 zTAmHRrl>+Ss5zIb?Kzs7j*&_KLGR@fxt zWGFOvXPXuTHn&9d3w^3-SLjj|@{LaXkIl`9{Cy<+=|unC<_E2;&5s?0BR6lgiRGd7 zGQxV;k&kaN9ki20Hi)vG4puQuF*i8$TobhmUS=)u0(n$}}4ye}yn_Ke+uAQ?u zxh{F0=V6}v_*2XuX7C9_A>pZrMaR;!f|x9<7w9NOshQKYQT&*`4aC&|d8ETu18q&{O!`U6sr0ejj}PS4 zGV4tp!)u~Akaj|!Dgy~?;n?6b)N8u?$KR*t4yhbmnjG(22;v9zq2JX1wZ|=wgLGwS zINJ4uzR9*KH?bM(-3|@6GBng5=t_wdY`1QuU_axRIHEvrD-{umpPR7b`iU2F*`ft^ zcuDnIxW|VV9nmaM3{_;?$~KgVvNM!(bwI-0foAhqoO-Mo>29|?hLK*Pk>Y%BQXk;?HOcItqN=Q?_-;^)ZyV@M}> zhNN9Q_5y$!7U#~DRI?(!j<5v%9;6)`p!?IRiJ+LPt)U{`$qu|bfn$Yuck_aVct=k7 zymSt1oj`Rqrs(t=IAv@K*(?iFs6;9@L$* za^svTy6AtUR?a*#L|nI4k7HiGiL?2iRjJb)uF2P(r;RA~w}-1NInPF~*OWg;tBWpz zXD`??7G9v0?N*^cceGHn`bDs?YiK{+sC@M``6NC`H=cR(q)(ooL&>g*u;xNEd|O4_ zh5PB0UaR3(#-jdee3>ZXoqn4YDx%LQwb47{Wfwn7{fwfC)Z3icHc_>~PcnYBhF-}I z?C|STu?pg3FYPpnlNMq#39CoIqaGrC4q3!|Ega}B!^C(DzXR*HwW)S^A9TxMM8U=O zc;8vavOSSJqED%C<1|NtdBlP1>h&MdDBR35mMMEWH;@BmH+}zFHYNui6v8*QzD*<*!U0H1lL^avzyw{}jjhKgFZ|pnvp% tP%yMBxI4Iu_|o}|;XjhZf0NBrDd*1^<NIL: BSDSocket_Labels.s ;delete >NIL: BSDSocket_Size.s +FAILAT 21 copy AMOSPro_System:APSystem/AMOSPro_BSDSocket.lib AMOSPro_System:APSystem/AMOSPro_BSDSocket.lib.bak +FAILAT 10 copy AMOSPro_BSDSocket.Lib AMOSPro_System:APSystem/ ;use an amos file here that includes the plugin to quickly build a test program ;apcmp "aqua_test_plugin.amos" inclib diff --git a/src/bsdsocket_lib.fd b/src/bsdsocket_lib.fd new file mode 100644 index 0000000..e4afa67 --- /dev/null +++ b/src/bsdsocket_lib.fd @@ -0,0 +1,107 @@ +##base _SocketBase +##public +##bias 30 +socket(domain,type,protocol)(d0/d1/d2) +bind(sock,name,namelen)(d0/a0/d1) +listen(sock,backlog)(d0/d1) +accept(sock,addr,addrlen)(d0/a0/a1) +connect(sock,name,namelen)(d0/a0/d1) +sendto(sock,buf,len,flags,to,tolen)(d0/a0/d1/d2/a1/d3) +send(sock,buf,len,flags)(d0/a0/d1/d2) +recvfrom(sock,buf,len,flags,addr,addrlen)(d0/a0/d1/d2/a1/a2) +recv(sock,buf,len,flags)(d0/a0/d1/d2) +shutdown(sock,how)(d0/d1) +setsockopt(sock,level,optname,optval,optlen)(d0/d1/d2/a0/d3) +getsockopt(sock,level,optname,optval,optlen)(d0/d1/d2/a0/a1) +getsockname(sock,name,namelen)(d0/a0/a1) +getpeername(sock,name,namelen)(d0/a0/a1) +IoctlSocket(sock,req,argp)(d0/d1/a0) +CloseSocket(sock)(d0) +WaitSelect(nfds,read_fds,write_fds,except_fds,timeout,signals)(d0/a0/a1/a2/a3/d1) +SetSocketSignals(int_mask,io_mask,urgent_mask)(d0/d1/d2) +getdtablesize()() +ObtainSocket(id,domain,type,protocol)(d0/d1/d2/d3) +ReleaseSocket(sock,id)(d0/d1) +ReleaseCopyOfSocket(sock,id)(d0/d1) +Errno()() +SetErrnoPtr(errno_ptr,size)(a0/d0) +Inet_NtoA(ip)(d0) +inet_addr(cp)(a0) +Inet_LnaOf(in)(d0) +Inet_NetOf(in)(d0) +Inet_MakeAddr(net,host)(d0/d1) +inet_network(cp)(a0) +gethostbyname(name)(a0) +gethostbyaddr(addr,len,type)(a0/d0/d1) +getnetbyname(name)(a0) +getnetbyaddr(net,type)(d0/d1) +getservbyname(name,proto)(a0/a1) +getservbyport(port,proto)(d0/a0) +getprotobyname(name)(a0) +getprotobynumber(proto)(d0) +vsyslog(pri,msg,args)(d0/a0/a1) +Dup2Socket(old_socket,new_socket)(d0/d1) +sendmsg(sock,msg,flags)(d0/a0/d1) +recvmsg(sock,msg,flags)(d0/a0/d1) +gethostname(name,namelen)(a0/d0) +gethostid()() +SocketBaseTagList(tags)(a0) +GetSocketEvents(event_ptr)(a0) +##bias 366 +bpf_open(channel)(d0) +bpf_close(channel)(d0) +bpf_read(channel,buffer,len)(d0/a0/d1) +bpf_write(channel,buffer,len)(d0/a0/d1) +bpf_set_notify_mask(channel,signal_mask)(d1/d0) +bpf_set_interrupt_mask(channel,signal_mask)(d0/d1) +bpf_ioctl(channel,command,buffer)(d0/d1/a0) +bpf_data_waiting(channel)(d0) +AddRouteTagList(tags)(a0) +DeleteRouteTagList(tags)(a0) +##bias 432 +FreeRouteInfo(buf)(a0) +GetRouteInfo(address_family,flags)(d0/d1) +AddInterfaceTagList(interface_name,device_name,unit,tags)(a0/a1/d0/a2) +ConfigureInterfaceTagList(interface_name,tags)(a0/a1) +ReleaseInterfaceList(list)(a0) +ObtainInterfaceList()() +QueryInterfaceTagList(interface_name,tags)(a0/a1) +CreateAddrAllocMessageA(version,protocol,interface_name,result_ptr,tags)(d0/d1/a0/a1/a2) +DeleteAddrAllocMessage(aam)(a0) +BeginInterfaceConfig(message)(a0) +AbortInterfaceConfig(message)(a0) +AddNetMonitorHookTagList(type,hook,tags)(d0/a0/a1) +RemoveNetMonitorHook(hook)(a0) +GetNetworkStatistics(type,version,destination,size)(d0/d1/a0/d2) +AddDomainNameServer(address)(a0) +RemoveDomainNameServer(address)(a0) +ReleaseDomainNameServerList(list)(a0) +ObtainDomainNameServerList()() +setnetent(stay_open)(d0) +endnetent()() +getnetent()() +setprotoent(stay_open)(d0) +endprotoent()() +getprotoent()() +setservent(stay_open)(d0) +endservent()() +getservent()() +inet_aton(cp,addr)(a0/a1) +inet_ntop(af,src,dst,size)(d0/a0/a1/d1) +inet_pton(af,src,dst)(d0/a0/a1) +In_LocalAddr(address)(d0) +In_CanForward(address)(d0) +mbuf_copym(m,off,len)(a0/d0/d1) +mbuf_copyback(m,off,len,cp)(a0/d0/d1/a1) +mbuf_copydata(m,off,len,cp)(a0/d0/d1/a1) +mbuf_free(m)(a0) +mbuf_freem(m)(a0) +mbuf_get()() +mbuf_gethdr()() +mbuf_prepend(m,len)(a0/d0) +mbuf_cat(m,n)(a0/a1) +mbuf_adj(mp,req_len)(a0/d0) +mbuf_pullup(m,len)(a0/d0) +ProcessIsServer(pr)(a0) +ObtainServerSocket()() +##end diff --git a/src/bsdsocket_lvo.i b/src/bsdsocket_lvo.i new file mode 100644 index 0000000..676e088 --- /dev/null +++ b/src/bsdsocket_lvo.i @@ -0,0 +1,208 @@ + IFND LIBRARIES_BSDSOCKET_LVO_I +LIBRARIES_BSDSOCKET_LVO_I SET 1 + + XDEF _LVOsocket + XDEF _LVObind + XDEF _LVOlisten + XDEF _LVOaccept + XDEF _LVOconnect + XDEF _LVOsendto + XDEF _LVOsend + XDEF _LVOrecvfrom + XDEF _LVOrecv + XDEF _LVOshutdown + XDEF _LVOsetsockopt + XDEF _LVOgetsockopt + XDEF _LVOgetsockname + XDEF _LVOgetpeername + XDEF _LVOIoctlSocket + XDEF _LVOCloseSocket + XDEF _LVOWaitSelect + XDEF _LVOSetSocketSignals + XDEF _LVOgetdtablesize + XDEF _LVOObtainSocket + XDEF _LVOReleaseSocket + XDEF _LVOReleaseCopyOfSocket + XDEF _LVOErrno + XDEF _LVOSetErrnoPtr + XDEF _LVOInet_NtoA + XDEF _LVOinet_addr + XDEF _LVOInet_LnaOf + XDEF _LVOInet_NetOf + XDEF _LVOInet_MakeAddr + XDEF _LVOinet_network + XDEF _LVOgethostbyname + XDEF _LVOgethostbyaddr + XDEF _LVOgetnetbyname + XDEF _LVOgetnetbyaddr + XDEF _LVOgetservbyname + XDEF _LVOgetservbyport + XDEF _LVOgetprotobyname + XDEF _LVOgetprotobynumber + XDEF _LVOvsyslog + XDEF _LVODup2Socket + XDEF _LVOsendmsg + XDEF _LVOrecvmsg + XDEF _LVOgethostname + XDEF _LVOgethostid + XDEF _LVOSocketBaseTagList + XDEF _LVOGetSocketEvents + XDEF _LVObpf_open + XDEF _LVObpf_close + XDEF _LVObpf_read + XDEF _LVObpf_write + XDEF _LVObpf_set_notify_mask + XDEF _LVObpf_set_interrupt_mask + XDEF _LVObpf_ioctl + XDEF _LVObpf_data_waiting + XDEF _LVOAddRouteTagList + XDEF _LVODeleteRouteTagList + XDEF _LVOFreeRouteInfo + XDEF _LVOGetRouteInfo + XDEF _LVOAddInterfaceTagList + XDEF _LVOConfigureInterfaceTagList + XDEF _LVOReleaseInterfaceList + XDEF _LVOObtainInterfaceList + XDEF _LVOQueryInterfaceTagList + XDEF _LVOCreateAddrAllocMessageA + XDEF _LVODeleteAddrAllocMessage + XDEF _LVOBeginInterfaceConfig + XDEF _LVOAbortInterfaceConfig + XDEF _LVOAddNetMonitorHookTagList + XDEF _LVORemoveNetMonitorHook + XDEF _LVOGetNetworkStatistics + XDEF _LVOAddDomainNameServer + XDEF _LVORemoveDomainNameServer + XDEF _LVOReleaseDomainNameServerList + XDEF _LVOObtainDomainNameServerList + XDEF _LVOsetnetent + XDEF _LVOendnetent + XDEF _LVOgetnetent + XDEF _LVOsetprotoent + XDEF _LVOendprotoent + XDEF _LVOgetprotoent + XDEF _LVOsetservent + XDEF _LVOendservent + XDEF _LVOgetservent + XDEF _LVOinet_aton + XDEF _LVOinet_ntop + XDEF _LVOinet_pton + XDEF _LVOIn_LocalAddr + XDEF _LVOIn_CanForward + XDEF _LVOmbuf_copym + XDEF _LVOmbuf_copyback + XDEF _LVOmbuf_copydata + XDEF _LVOmbuf_free + XDEF _LVOmbuf_freem + XDEF _LVOmbuf_get + XDEF _LVOmbuf_gethdr + XDEF _LVOmbuf_prepend + XDEF _LVOmbuf_cat + XDEF _LVOmbuf_adj + XDEF _LVOmbuf_pullup + XDEF _LVOProcessIsServer + XDEF _LVOObtainServerSocket + +_LVOsocket EQU -30 +_LVObind EQU -36 +_LVOlisten EQU -42 +_LVOaccept EQU -48 +_LVOconnect EQU -54 +_LVOsendto EQU -60 +_LVOsend EQU -66 +_LVOrecvfrom EQU -72 +_LVOrecv EQU -78 +_LVOshutdown EQU -84 +_LVOsetsockopt EQU -90 +_LVOgetsockopt EQU -96 +_LVOgetsockname EQU -102 +_LVOgetpeername EQU -108 +_LVOIoctlSocket EQU -114 +_LVOCloseSocket EQU -120 +_LVOWaitSelect EQU -126 +_LVOSetSocketSignals EQU -132 +_LVOgetdtablesize EQU -138 +_LVOObtainSocket EQU -144 +_LVOReleaseSocket EQU -150 +_LVOReleaseCopyOfSocket EQU -156 +_LVOErrno EQU -162 +_LVOSetErrnoPtr EQU -168 +_LVOInet_NtoA EQU -174 +_LVOinet_addr EQU -180 +_LVOInet_LnaOf EQU -186 +_LVOInet_NetOf EQU -192 +_LVOInet_MakeAddr EQU -198 +_LVOinet_network EQU -204 +_LVOgethostbyname EQU -210 +_LVOgethostbyaddr EQU -216 +_LVOgetnetbyname EQU -222 +_LVOgetnetbyaddr EQU -228 +_LVOgetservbyname EQU -234 +_LVOgetservbyport EQU -240 +_LVOgetprotobyname EQU -246 +_LVOgetprotobynumber EQU -252 +_LVOvsyslog EQU -258 +_LVODup2Socket EQU -264 +_LVOsendmsg EQU -270 +_LVOrecvmsg EQU -276 +_LVOgethostname EQU -282 +_LVOgethostid EQU -288 +_LVOSocketBaseTagList EQU -294 +_LVOGetSocketEvents EQU -300 +_LVObpf_open EQU -366 +_LVObpf_close EQU -372 +_LVObpf_read EQU -378 +_LVObpf_write EQU -384 +_LVObpf_set_notify_mask EQU -390 +_LVObpf_set_interrupt_mask EQU -396 +_LVObpf_ioctl EQU -402 +_LVObpf_data_waiting EQU -408 +_LVOAddRouteTagList EQU -414 +_LVODeleteRouteTagList EQU -420 +_LVOFreeRouteInfo EQU -432 +_LVOGetRouteInfo EQU -438 +_LVOAddInterfaceTagList EQU -444 +_LVOConfigureInterfaceTagList EQU -450 +_LVOReleaseInterfaceList EQU -456 +_LVOObtainInterfaceList EQU -462 +_LVOQueryInterfaceTagList EQU -468 +_LVOCreateAddrAllocMessageA EQU -474 +_LVODeleteAddrAllocMessage EQU -480 +_LVOBeginInterfaceConfig EQU -486 +_LVOAbortInterfaceConfig EQU -492 +_LVOAddNetMonitorHookTagList EQU -498 +_LVORemoveNetMonitorHook EQU -504 +_LVOGetNetworkStatistics EQU -510 +_LVOAddDomainNameServer EQU -516 +_LVORemoveDomainNameServer EQU -522 +_LVOReleaseDomainNameServerList EQU -528 +_LVOObtainDomainNameServerList EQU -534 +_LVOsetnetent EQU -540 +_LVOendnetent EQU -546 +_LVOgetnetent EQU -552 +_LVOsetprotoent EQU -558 +_LVOendprotoent EQU -564 +_LVOgetprotoent EQU -570 +_LVOsetservent EQU -576 +_LVOendservent EQU -582 +_LVOgetservent EQU -588 +_LVOinet_aton EQU -594 +_LVOinet_ntop EQU -600 +_LVOinet_pton EQU -606 +_LVOIn_LocalAddr EQU -612 +_LVOIn_CanForward EQU -618 +_LVOmbuf_copym EQU -624 +_LVOmbuf_copyback EQU -630 +_LVOmbuf_copydata EQU -636 +_LVOmbuf_free EQU -642 +_LVOmbuf_freem EQU -648 +_LVOmbuf_get EQU -654 +_LVOmbuf_gethdr EQU -660 +_LVOmbuf_prepend EQU -666 +_LVOmbuf_cat EQU -672 +_LVOmbuf_adj EQU -678 +_LVOmbuf_pullup EQU -684 +_LVOProcessIsServer EQU -690 +_LVOObtainServerSocket EQU -696 + + ENDC