Windows 2 Linux移植 [英] Windows 2 Linux Porting
问题描述
您好:
每个人,我想将WinApi DeviceIoControl移植到Linux Ioctl。
// Windows
Hello:
Everyone,I want to port WinApi DeviceIoControl to Linux Ioctl.
//Windows
USHORT in = COMPRESSION_FORMAT_DEFAULT;
DWORD cbReturned;
DeviceIoControl(hDevice,FSCTL_SET_COMPRESSION,&in,sizeof(in),NULL,0,&cbReturned,NULL);
// Linux
//Linux
ioctl(hDevice,FSCTL_SET_COMPRESSION,&value)
但是我在我的Linux中找不到FSCTL_SET_COMPRESSION。
什么是FSCTL_SET_COMPRESSION的头名?
http:// lxr.free-electrons.com/source/fs/cifs/smbfsctl.h#L41 [ ^ ]
我该怎么办?谢谢。
你好我如何将DeviceIoControl(hDevice,FSCTL_SET_COMPRESSION,& in,sizeof(in),NULL,0,& cbReturned,NULL)移植到Linux谢谢。
But.I can not find FSCTL_SET_COMPRESSION in my Linux.
What is head name of FSCTL_SET_COMPRESSION?
http://lxr.free-electrons.com/source/fs/cifs/smbfsctl.h#L41[^]
What should i do? Thanks.
Hello how do i port DeviceIoControl(hDevice,FSCTL_SET_COMPRESSION,&in,sizeof(in),NULL,0,&cbReturned,NULL) to Linux Thanks.
推荐答案
答案在这里:
The answer is here:
int flags = 0;
ioctl(fd,FS_IOC_GETFLAGS,&flags);
flags |= FS_COMPR_FL;
flags &= ~FS_NOCOMP_FL;
ioctl(fd,FS_IOC_SETFLAGS,&flags);
谢谢!
Thanks!
这篇关于Windows 2 Linux移植的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!