FIONBIO 的 Winsocks 定义的实际数字是多少?
What is the actual number for the Winsocks definition of FIONBIO?
我正在使用不支持系统包含文件的解释型脚本语言。
我需要许多 Winsock #defines 的编号。
对于大多数人来说,我可以搜索文件并得到如下答案:
#define AF_INET6 23
但我看到了 FIONBIO
#define FIONBIO _IOW('f', 126, u_long)
查找 _IOW 显示
#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
我为此找到了一些片段:
#define IOCPARM_MASK 0x7f
#define IOC_IN 0x80000000
但是当我试图弄清楚那到底是什么时,我在转弯的某个地方迷路了。
谁能告诉我 FIONBIO 应该是多少号?
我确实在某个地方找到了一个 post,它不经意地提到在某些 UNIX 构建中有:
#define FIONBIO := 0x5421
我似乎无法将 windows Winsock 定义变成那个数字,我不确定它是否应该在任何情况下都相同。
有人能告诉我答案吗?或者我是否必须下载一些 windows 开发环境并编写 C 程序来打印出该值? :)
#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)
我正在使用不支持系统包含文件的解释型脚本语言。
我需要许多 Winsock #defines 的编号。 对于大多数人来说,我可以搜索文件并得到如下答案:
#define AF_INET6 23
但我看到了 FIONBIO
#define FIONBIO _IOW('f', 126, u_long)
查找 _IOW 显示
#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
我为此找到了一些片段:
#define IOCPARM_MASK 0x7f
#define IOC_IN 0x80000000
但是当我试图弄清楚那到底是什么时,我在转弯的某个地方迷路了。
谁能告诉我 FIONBIO 应该是多少号? 我确实在某个地方找到了一个 post,它不经意地提到在某些 UNIX 构建中有:
#define FIONBIO := 0x5421
我似乎无法将 windows Winsock 定义变成那个数字,我不确定它是否应该在任何情况下都相同。
有人能告诉我答案吗?或者我是否必须下载一些 windows 开发环境并编写 C 程序来打印出该值? :)
#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)