| File incluso per le funzioni sui socket di Proteus |
; Include file per le funzioni socket Win32 di Proteus ; **** Parametri per W32SOCKET **** ; Famiglia di indirizzi ; non specificata CONST AF_UNSPEC 0 ; locale al host (pipe, portali) CONST AF_UNIX 1 ; internetwork: UDP, TCP, ecc. CONST AF_INET 2 ; indirizzi imp arpanet CONST AF_IMPLINK 3 ; protocolli pup: es. BSP CONST AF_PUP 4 ; protocolli mit CHAOS CONST AF_CHAOS 5 ; IPX e SPX CONST AF_IPX 6 ; protocolli XEROX NS CONST AF_NS 6 ; protocolli ISO CONST AF_ISO 7 ; OSI è ISO CONST AF_OSI 7 ; produttori europei di computer CONST AF_ECMA 8 ; protocolli datakit CONST AF_DATAKIT 9 ; protocolli CCITT, X.25 ecc. CONST AF_CCITT 10 ; IBM SNA CONST AF_SNA 11 ; DECnet CONST AF_DECnet 12 ; interfaccia diretta di collegamento dati CONST AF_DLI 13 ; LAT CONST AF_LAT 14 ; NSC Hyperchannel CONST AF_HYLINK 15 ; AppleTalk CONST AF_APPLETALK 16 ; indirizzi in stile NetBios CONST AF_NETBIOS 17 ; VoiceView CONST AF_VOICEVIEW 18 ; FireFox CONST AF_FIREFOX 19 ; qualcuno lo usa! CONST AF_UNKNOWN1 20 ; Banyan CONST AF_BAN 21 ; Tipo ; socket di tipo stream CONST SOCK_STREAM 1 ; socket a datagrammi CONST SOCK_DGRAM 2 ; interfaccia con protocollo raw CONST SOCK_RAW 3 ; messaggio consegnato in modo sicuro CONST SOCK_RDM 4 ; stream a pacchetti con controllo di sequenza CONST SOCK_SEQPACKET 5 ; Protocollo ; dummy per IP CONST IPPROTO_IP 0 ; protocollo con controllo del messaggio CONST IPPROTO_ICMP 1 ; protocollo per la gestione del gruppo CONST IPPROTO_IGMP 2 ; gateway^2 (deprecato) CONST IPPROTO_GGP 3 ; tcp CONST IPPROTO_TCP 6 ; pup CONST IPPROTO_PUP 12 ; protocollo UDP CONST IPPROTO_UDP 17 ; xns idp CONST IPPROTO_IDP 22 ; protocollo NON UFFICIALE net disk CONST IPPROTO_ND 77 ; pacchetto IP raw CONST IPPROTO_RAW 255 ; massimo valore per protocollo CONST IPPROTO_MAX 256 ; ----------------------------------------------------------------------------------------- ; Errori ritornati da W32LASTSOCKETERR ; definizioni dei socket di Windows relative a costanti di errore Microsoft® C CONST WSAEINTR 10004 CONST WSAEBADF 10009 CONST WSAEACCES 10013 CONST WSAEFAULT 10014 CONST WSAEINVAL 10022 CONST WSAEMFILE 10024 ; definizioni dei socket di Windows relative a costanti di errore Berkeley CONST WSAEWOULDBLOCK 10035 CONST WSAEINPROGRESS 10036 CONST WSAEALREADY 10037 CONST WSAENOTSOCK 10038 CONST WSAEDESTADDRREQ 10039 CONST WSAEMSGSIZE 10040 CONST WSAEPROTOTYPE 10041 CONST WSAENOPROTOOPT 10042 CONST WSAEPROTONOSUPPORT 10043 CONST WSAESOCKTNOSUPPORT 10044 CONST WSAEOPNOTSUPP 10045 CONST WSAEPFNOSUPPORT 10046 CONST WSAEAFNOSUPPORT 10047 CONST WSAEADDRINUSE 10048 CONST WSAEADDRNOTAVAIL 10049 CONST WSAENETDOWN 10050 CONST WSAENETUNREACH 10051 CONST WSAENETRESET 10052 CONST WSAECONNABORTED 10053 CONST WSAECONNRESET 10054 CONST WSAENOBUFS 10055 CONST WSAEISCONN 10056 CONST WSAENOTCONN 10057 CONST WSAESHUTDOWN 10058 CONST WSAETOOMANYREFS 10059 CONST WSAETIMEDOUT 10060 CONST WSAECONNREFUSED 10061 CONST WSAELOOP 10062 CONST WSAENAMETOOLONG 10063 CONST WSAEHOSTDOWN 10064 CONST WSAEHOSTUNREACH 10065 CONST WSAENOTEMPTY 10066 CONST WSAEPROCLIM 10067 CONST WSAEUSERS 10068 CONST WSAEDQUOT 10069 CONST WSAESTALE 10070 CONST WSAEREMOTE 10071 CONST WSAEDISCON 10101 ; costanti di errore estese per i socket di Windows CONST WSASYSNOTREADY 10091 CONST WSAVERNOTSUPPORTED 10092 CONST WSANOTINITIALISED 10093 ; ----------------------------------------------------------------------------------------- ; Parametri per W32IOCTLSOCKET ; bytes leggibili dal socket CONST FIONREAD 0x4004667F ; (dis)abilita la modalità bloccante CONST FIONBIO 0x8004667E ; verifica dati out-of-band CONST SIOCATMARK 0x40047307 ; ----------------------------------------------------------------------------------------- ; Flags per W32SEND ; elabora dati "out-of-band" CONST MSG_OOB 0x1 ; guarda il messaggio in ingresso CONST MSG_PEEK 0x2 ; invia senza utilizzare le tabelle di instradamento CONST MSG_DONTROUTE 0x4 CONST MSG_MAXIOVLEN 16 ; invio o ricezione parziale per messaggio xport CONST MSG_PARTIAL 0x8000 ; ----------------------------------------------------------------------------------------- ; Flags per W32SHUTDOWN ; chiude la ricezione CONST SD_RECEIVE 0x00 ; chiude l'invio CONST SD_SEND 0x01 ; chiude l'invio e la ricezione CONST SD_BOTH 0x02 ; ----------------------------------------------------------------------------------------- ; Parametri per W32GETSOCKOPT e W32SETSOCKOPT ; opzioni per il livello socket CONST SOL_SOCKET 0xffff ; livello = SOL_SOCKET ; il socket ha eseguito il listen() CONST SO_ACCEPTCONN 0x0002 ; permette l'invio di messaggi di tipo broadcast CONST SO_BROADCAST 0x0020 ; attiva la registrazione delle informazioni di debug CONST SO_DEBUG 0x0001 ; non indugia CONST SO_DONTLINGER 0xFFFFFF7F ; usa solo gli indirizzi dell'interfaccia CONST SO_DONTROUTE 0x0010 ; preleva lo stato di errore e lo azzera CONST SO_ERROR 0x1007 ; ID di un gruppo di socket CONST SO_GROUP_ID 0x2001 ; la priorità relativa all'interno di un gruppo CONST SO_GROUP_PRIORITY 0x2002 ; mantieni attive le connessioni CONST SO_KEEPALIVE 0x0008 ; attendi in chiusura se ci sono dati CONST SO_LINGER 0x0080 ; massima dimensione del messaggio CONST SO_MAX_MSG_SIZE 0x2003 ; lascia in linea i dati OOB ricevuti CONST SO_OOBINLINE 0x0100 ; struttura WSAPROTOCOL_INFOA CONST SO_PROTOCOL_INFOA 0x2004 ; struttura WSAPROTOCOL_INFOW CONST SO_PROTOCOL_INFOW 0x2005 ; dimensione del buffer in ricezione CONST SO_RCVBUF 0x1002 ; permette il riutilizzo dell'indirizzo locale CONST SO_REUSEADDR 0x0004 ; dimensione del buffer in invio CONST SO_SNDBUF 0x1001 ; preleva il tipo del socket CONST SO_TYPE 0x1008 ; informazioni di configuration per il fornitore del servizio CONST PVD_CONFIG 0x3001 ; livello = IPPROTO_TCP CONST TCP_NODELAY 0x0001 ; livello minimo per l'invio CONST SO_SNDLOWAT 0x1003 ; livello minimo per la ricezione CONST SO_RCVLOWAT 0x1004 ; timeout per l'invio CONST SO_SNDTIMEO 0x1005 ; timeout per la ricezione CONST SO_RCVTIMEO 0x1006 ; bypassa l'hardware quando possibile CONST SO_USELOOPBACK 0x0040
; massima lunghezza della coda specificabile per listen CONST SO_MAXCONN 0x7fffffff ; massima lunghezza dei vettori passati a W32SELECT CONST FD_SETSIZE 64 ; offset da utilizzare per interrogare la bitmap restituita da W32SELECT CONST W32SELECT_READ_OFFSET 0 CONST W32SELECT_WRITE_OFFSET 64 CONST W32SELECT_EXCEPT_OFFSET 129