diff --git a/src/AMOSPro_BSDSocket.Lib b/src/AMOSPro_BSDSocket.Lib new file mode 100644 index 0000000..1434109 Binary files /dev/null and b/src/AMOSPro_BSDSocket.Lib differ diff --git a/src/BSDSocket.s b/src/BSDSocket.s index f47febf..cd9c1b6 100644 --- a/src/BSDSocket.s +++ b/src/BSDSocket.s @@ -15,12 +15,12 @@ VerNumber equ $1 ; Include the files automatically calculated by ; Library_Digest.AMOS ;--------------------------------------------------------------------- - Incdir "Stuff:development/amos-professional-official-mas/" - Incdir "Stuff:development/amos-professional-official-mas/includes/" + Incdir "AMOSPro_Sources:" + Incdir "AMOSPro_Sources:includes/" Include "BSDSocket_Size.s" Include "BSDSocket_Labels.s" Include "+AMOS_Includes.s" - Include "socket_lvo.i" + Include "bsdsocket_lvo.i" ; get the effective address of something in extension memory Dlea MACRO diff --git a/src/BSDSocket_Labels.s b/src/BSDSocket_Labels.s new file mode 100644 index 0000000..5bae0fe --- /dev/null +++ b/src/BSDSocket_Labels.s @@ -0,0 +1,39 @@ +; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +; BSDSocket.s, list of the library functions on the 25-04-2024 13:11:43 +; +; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +L_Cold: set 0 +L_SocketLibraryOpen: set 2 +L_SocketLibraryClose: set 3 +L_DoSocketSockaddrFree: set 4 +L_SocketIPAddressPortToSockaddr:set 5 +L_SocketCreateInetSocket:set 6 +L_SocketConnect: set 7 +L_SocketSendString: set 8 +L_SocketSendData: set 9 +L_SocketBind: set 10 +L_SocketErrno: set 11 +L_SocketListen: set 12 +L_SocketAccept: set 13 +L_SocketSetNonblocking: set 14 +L_SocketSetsockoptInt: set 15 +L_SocketGetsockoptInt: set 16 +L_SocketFdsetZero: set 17 +L_SocketFdsetSet: set 18 +L_SocketFdsetIsSet: set 19 +L_SocketSelect: set 20 +L_SocketGetDebugArea: set 21 +L_SocketGetHost: set 22 +L_SocketGetPort: set 23 +L_SocketInetNtoA: set 24 +L_SocketRecvString: set 25 +L_SocketRecvData: set 26 +L_DoSocketLibraryClose: set 27 +L_SocketWaitAsyncWriting:set 28 +L_SocketWaitAsyncReading:set 29 +L_SocketReuseAddr: set 30 +L_MicrosecondsToTimeval:set 31 +L_SetSockoptInt: set 32 +L_DnsGetHostAddressByName:set 33 +L_SocketSetTimeout: set 34 +L_SocketCloseSocket: set 35 diff --git a/src/BSDSocket_Size.s b/src/BSDSocket_Size.s new file mode 100644 index 0000000..ab31be3 --- /dev/null +++ b/src/BSDSocket_Size.s @@ -0,0 +1,5 @@ +; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +; BSDSocket.s, library size on the 25-04-2024 13:11:43 +; +; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Lib_Size equ 38 diff --git a/src/absdsocket b/src/absdsocket index 0f89ed4..c7bcab6 100644 --- a/src/absdsocket +++ b/src/absdsocket @@ -1,10 +1,13 @@ echo "***Assembling AMOSPro_BSDSocket.Lib" -assign AMOSPro_System: MiSTerHD:Development/AMOSPro/AMOS_Pro -Stuff:Development/AMOS-Professional-Official-mas/c/Library_Digest BSDSocket.s -Stuff:Development/AMOS-Professional-Official-mas/c/Genam FROM BSDSocket.s TO AMOSPro_BSDSocket.Lib +assign AMOSPro_System: SYS:Development/AMOS_Pro +assign AMOSPro_Sources: amos-pro-bsdsocket-extension:stuff/AMOS-Professional-Official +AMOSPro_Sources:c/Library_Digest BSDSocket.s +AMOSPro_Sources:c/Genam FROM BSDSocket.s TO AMOSPro_BSDSocket.Lib ;delete >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