FIONBIO的Winsocks定义的实际数字是多少?

FIONBIO的Winsocks定义的实际数字是多少?,c,sockets,winsock,C,Sockets,Winsock,我使用的是解释脚本语言,不支持系统包含文件 我需要很多Winsock定义的数字。 对于大多数情况,我只需搜索文件,就可以得到如下答案: #define AF_INET6 23 但我知道菲昂比奥 #define FIONBIO _IOW('f', 126, u_long) 在看电视节目 #define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) 但

我使用的是解释脚本语言,不支持系统包含文件

我需要很多Winsock定义的数字。 对于大多数情况,我只需搜索文件,就可以得到如下答案:

#define AF_INET6  23
但我知道菲昂比奥

#define FIONBIO   _IOW('f', 126, u_long)
在看电视节目

#define _IOW(x,y,t)      (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
但是当我试图弄清楚那到底是什么的时候,我在转弯的某个地方迷路了

有人能告诉我FIONBIO应该是什么号码吗? 我确实在某个地方找到一篇帖子,其中随意提到在某些UNIX构建中:

#define FIONBIO         := 0x5421
我似乎无法将windows Winsock的定义转换成那个数字,我不确定它在任何情况下是否应该是相同的


有人能告诉我答案吗?或者我必须下载一些windows开发环境并编写一个C程序来打印值吗?:)

多谢各位。有趣的是,这就是我在尝试手动解码语法时得到的答案,但我不相信它是正确的。生活和学习。谢谢你。有趣的是,这就是我在尝试手动解码语法时得到的答案,但我不相信它是正确的。活到老学到老。
ioctlsocket
的cmd参数很长,因此FIONBIO的实际值应该用
%ld
打印,并且是-2147195266。注意隐式数据类型转换,因为@tmm1说
ioctlsocket
的cmd参数很长,因此,FIONBIO的实际值应该用
%ld
打印,并且是-2147195266。注意@tmm1所说的隐式数据类型转换
#define FIONBIO         := 0x5421
#include <winsock.h>

int main()
{
    printf("FIONBIO is size %u with value %u (0x%x)\n", 
        sizeof(FIONBIO), FIONBIO, FIONBIO);
}
FIONBIO is size 4 with value 2147772030 (0x8004667e)