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