@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The WSASocket function creates a socket that is bound to a specific transport-service provider. !!!!C# Signature: [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] public static extern IntPtr WSASocket(ADDRESS_FAMILIES af, SOCKET_TYPE socket_type, PROTOCOL protocol, IntPtr lpProtocolInfo, Int32 group, OPTION_FLAGS_PER_SOCKET dwFlags); !!!!VB Signature: Declare Function WSASocket Lib "ws2_32.dll" (TODO) As TODO !!!!User-Defined Types: public enum ADDRESS_FAMILIES : short { /// <summary> /// Unspecified [value = 0]. /// </summary> AF_UNSPEC = 0, /// <summary> /// Local to host (pipes, portals) [value = 1]. /// </summary> AF_UNIX = 1, /// <summary> /// Internetwork: UDP, TCP, etc [value = 2]. /// </summary> AF_INET = 2, /// <summary> /// Arpanet imp addresses [value = 3]. /// </summary> AF_IMPLINK = 3, /// <summary> /// Pup protocols: e.g. BSP [value = 4]. /// </summary> AF_PUP = 4, /// <summary> /// Mit CHAOS protocols [value = 5]. /// </summary> AF_CHAOS = 5, /// <summary> /// XEROX NS protocols [value = 6]. /// </summary> AF_NS = 6, /// <summary> /// IPX protocols: IPX, SPX, etc [value = 6]. /// </summary> AF_IPX = 6, /// <summary> /// ISO protocols [value = 7]. /// </summary> AF_ISO = 7, /// <summary> /// OSI is ISO [value = 7]. /// </summary> AF_OSI = 7, /// <summary> /// european computer manufacturers [value = 8]. /// </summary> AF_ECMA = 8, /// <summary> /// datakit protocols [value = 9]. /// </summary> AF_DATAKIT = 9, /// <summary> /// CCITT protocols, X.25 etc [value = 10]. /// </summary> AF_CCITT = 10, /// <summary> /// IBM SNA [value = 11]. /// </summary> AF_SNA = 11, /// <summary> /// DECnet [value = 12]. /// </summary> AF_DECnet = 12, /// <summary> /// Direct data link interface [value = 13]. /// </summary> AF_DLI = 13, /// <summary> /// LAT [value = 14]. /// </summary> AF_LAT = 14, /// <summary> /// NSC Hyperchannel [value = 15]. /// </summary> AF_HYLINK = 15, /// <summary> /// AppleTalk [value = 16]. /// </summary> AF_APPLETALK = 16, /// <summary> /// NetBios-style addresses [value = 17]. /// </summary> AF_NETBIOS = 17, /// <summary> /// VoiceView [value = 18]. /// </summary> AF_VOICEVIEW = 18, /// <summary> /// Protocols from Firefox [value = 19]. /// </summary> AF_FIREFOX = 19, /// <summary> /// Somebody is using this! [value = 20]. /// </summary> AF_UNKNOWN1 = 20, /// <summary> /// Banyan [value = 21]. /// </summary> AF_BAN = 21, /// <summary> /// Native ATM Services [value = 22]. /// </summary> AF_ATM = 22, /// <summary> /// Internetwork Version 6 [value = 23]. /// </summary> AF_INET6 = 23, /// <summary> /// Microsoft Wolfpack [value = 24]. /// </summary> AF_CLUSTER = 24, /// <summary> /// IEEE 1284.4 WG AF [value = 25]. /// </summary> AF_12844 = 25, /// <summary> /// IrDA [value = 26]. /// </summary> AF_IRDA = 26, /// <summary> /// Network Designers OSI & gateway enabled protocols [value = 28]. /// </summary> AF_NETDES = 28, /// <summary> /// [value = 29]. /// </summary> AF_TCNPROCESS = 29, /// <summary> /// [value = 30]. /// </summary> AF_TCNMESSAGE = 30, /// <summary> /// [value = 31]. /// </summary> AF_ICLFXBM = 31 } public enum SOCKET_TYPE : short { /// <summary> /// stream socket /// </summary> SOCK_STREAM = 1, /// <summary> /// datagram socket /// </summary> SOCK_DGRAM = 2, /// <summary> /// raw-protocol interface /// </summary> SOCK_RAW = 3, /// <summary> /// reliably-delivered message /// </summary> SOCK_RDM = 4, /// <summary> /// sequenced packet stream /// </summary> SOCK_SEQPACKET = 5 } public enum PROTOCOL : short {//dummy for IP IPPROTO_IP = 0, //control message protocol IPPROTO_ICMP = 1, //internet group management protocol IPPROTO_IGMP = 2, //gateway^2 (deprecated) IPPROTO_GGP = 3, //tcp IPPROTO_TCP = 6, //pup IPPROTO_PUP = 12, //user datagram protocol IPPROTO_UDP = 17, //xns idp IPPROTO_IDP = 22, //IPv6 IPPROTO_IPV6 = 41, //UNOFFICIAL net disk proto IPPROTO_ND = 77, IPPROTO_ICLFXBM = 78, //raw IP packet IPPROTO_RAW = 255, IPPROTO_MAX = 256 } public enum OPTION_FLAGS_PER_SOCKET : short { // turn on debugging info recording SO_DEBUG = 0x0001, // socket has had listen() SO_ACCEPTCONN = 0x0002, // allow local address reuse SO_REUSEADDR = 0x0004, // keep connections alive SO_KEEPALIVE = 0x0008, // just use interface addresses SO_DONTROUTE = 0x0010, // permit sending of broadcast msgs SO_BROADCAST = 0x0020, // bypass hardware when possible SO_USELOOPBACK = 0x0040, // linger on close if data present SO_LINGER = 0x0080, // leave received OOB data in line SO_OOBINLINE = 0x0100, SO_DONTLINGER = (int)(~SO_LINGER), // disallow local address reuse SO_EXCLUSIVEADDRUSE = ((int)(~SO_REUSEADDR)), ///* // * Additional options. // */ // send buffer size SO_SNDBUF = 0x1001, // receive buffer size SO_RCVBUF = 0x1002, // send low-water mark SO_SNDLOWAT = 0x1003, // receive low-water mark SO_RCVLOWAT = 0x1004, // send timeout SO_SNDTIMEO = 0x1005, // receive timeout SO_RCVTIMEO = 0x1006, // get error status and clear SO_ERROR = 0x1007, // get socket type SO_TYPE = 0x1008, ///* // * WinSock 2 extension -- new options // */ // ID of a socket group SO_GROUP_ID = 0x2001, // the relative priority within a group SO_GROUP_PRIORITY = 0x2002, // maximum message size SO_MAX_MSG_SIZE = 0x2003, // WSAPROTOCOL_INFOA structure SO_PROTOCOL_INFOA = 0x2004, // WSAPROTOCOL_INFOW structure SO_PROTOCOL_INFOW = 0x2005, // configuration info for service provider PVD_CONFIG = 0x3001, // enable true conditional accept: connection is not ack-ed to the other side until conditional function returns CF_ACCEPT SO_CONDITIONAL_ACCEPT = 0x3002 } !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code: Please add some! Documentation: http://msdn.microsoft.com/en-us/library/ms742212(VS.85).aspx
Edit ws2_32.wsasocket
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.