Linux server.nvwebsoft.co.in 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
Apache
: 162.240.12.249 | : 3.149.25.26
202 Domain
8.1.31
nbspublicschool
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
include /
linux /
[ HOME SHELL ]
Name
Size
Permission
Action
byteorder
[ DIR ]
drwxr-xr-x
caif
[ DIR ]
drwxr-xr-x
can
[ DIR ]
drwxr-xr-x
dvb
[ DIR ]
drwxr-xr-x
hdlc
[ DIR ]
drwxr-xr-x
hsi
[ DIR ]
drwxr-xr-x
iio
[ DIR ]
drwxr-xr-x
isdn
[ DIR ]
drwxr-xr-x
mmc
[ DIR ]
drwxr-xr-x
netfilter
[ DIR ]
drwxr-xr-x
netfilter_arp
[ DIR ]
drwxr-xr-x
netfilter_bridge
[ DIR ]
drwxr-xr-x
netfilter_ipv4
[ DIR ]
drwxr-xr-x
netfilter_ipv6
[ DIR ]
drwxr-xr-x
nfsd
[ DIR ]
drwxr-xr-x
raid
[ DIR ]
drwxr-xr-x
spi
[ DIR ]
drwxr-xr-x
sunrpc
[ DIR ]
drwxr-xr-x
tc_act
[ DIR ]
drwxr-xr-x
tc_ematch
[ DIR ]
drwxr-xr-x
usb
[ DIR ]
drwxr-xr-x
wimax
[ DIR ]
drwxr-xr-x
a.out.h
7.15
KB
-rw-r--r--
acct.h
3.58
KB
-rw-r--r--
adb.h
1.05
KB
-rw-r--r--
adfs_fs.h
873
B
-rw-r--r--
affs_hardblocks.h
1.45
KB
-rw-r--r--
agpgart.h
3.83
KB
-rw-r--r--
aio_abi.h
3.1
KB
-rw-r--r--
apm_bios.h
3.46
KB
-rw-r--r--
arcfb.h
150
B
-rw-r--r--
atalk.h
960
B
-rw-r--r--
atm.h
7.64
KB
-rw-r--r--
atm_eni.h
585
B
-rw-r--r--
atm_he.h
343
B
-rw-r--r--
atm_idt77105.h
892
B
-rw-r--r--
atm_nicstar.h
1.19
KB
-rw-r--r--
atm_tcp.h
1.52
KB
-rw-r--r--
atm_zatm.h
1.57
KB
-rw-r--r--
atmapi.h
889
B
-rw-r--r--
atmarp.h
1.2
KB
-rw-r--r--
atmbr2684.h
3.13
KB
-rw-r--r--
atmclip.h
513
B
-rw-r--r--
atmdev.h
7.44
KB
-rw-r--r--
atmioc.h
1.55
KB
-rw-r--r--
atmlec.h
2.26
KB
-rw-r--r--
atmmpc.h
4.07
KB
-rw-r--r--
atmppp.h
576
B
-rw-r--r--
atmsap.h
4.79
KB
-rw-r--r--
atmsvc.h
1.75
KB
-rw-r--r--
audit.h
18.03
KB
-rw-r--r--
auto_fs.h
2.53
KB
-rw-r--r--
auto_fs4.h
4.3
KB
-rw-r--r--
auxvec.h
1.4
KB
-rw-r--r--
ax25.h
2.7
KB
-rw-r--r--
b1lli.h
1.62
KB
-rw-r--r--
baycom.h
820
B
-rw-r--r--
bfs_fs.h
1.79
KB
-rw-r--r--
binfmts.h
565
B
-rw-r--r--
blkpg.h
1.53
KB
-rw-r--r--
blktrace_api.h
4.38
KB
-rw-r--r--
bpf.h
22.04
KB
-rw-r--r--
bpf_common.h
1.2
KB
-rw-r--r--
bpf_perf_event.h
453
B
-rw-r--r--
bpqether.h
952
B
-rw-r--r--
bsg.h
2.37
KB
-rw-r--r--
bt-bmc.h
508
B
-rw-r--r--
btrfs.h
25.07
KB
-rw-r--r--
can.h
5.46
KB
-rw-r--r--
capability.h
11.25
KB
-rw-r--r--
capi.h
2.99
KB
-rw-r--r--
cciss_defs.h
3.14
KB
-rw-r--r--
cciss_ioctl.h
2.63
KB
-rw-r--r--
cdrom.h
28.12
KB
-rw-r--r--
cgroupstats.h
2.1
KB
-rw-r--r--
chio.h
5.16
KB
-rw-r--r--
cm4000_cs.h
1.68
KB
-rw-r--r--
cn_proc.h
3.19
KB
-rw-r--r--
coda.h
17.09
KB
-rw-r--r--
coda_psdev.h
720
B
-rw-r--r--
coff.h
12.12
KB
-rw-r--r--
connector.h
2.14
KB
-rw-r--r--
const.h
673
B
-rw-r--r--
cramfs_fs.h
2.68
KB
-rw-r--r--
cuda.h
842
B
-rw-r--r--
cyclades.h
16.65
KB
-rw-r--r--
cycx_cfm.h
2.86
KB
-rw-r--r--
dcbnl.h
24.5
KB
-rw-r--r--
dccp.h
6.22
KB
-rw-r--r--
devlink.h
9.66
KB
-rw-r--r--
dlm.h
2.43
KB
-rw-r--r--
dlm_device.h
2.42
KB
-rw-r--r--
dlm_netlink.h
1.04
KB
-rw-r--r--
dlm_plock.h
831
B
-rw-r--r--
dlmconstants.h
4.9
KB
-rw-r--r--
dm-ioctl.h
10.55
KB
-rw-r--r--
dm-log-userspace.h
14.82
KB
-rw-r--r--
dn.h
4.42
KB
-rw-r--r--
dqblk_xfs.h
8.72
KB
-rw-r--r--
edd.h
5.41
KB
-rw-r--r--
efs_fs_sb.h
2.11
KB
-rw-r--r--
elf-em.h
1.83
KB
-rw-r--r--
elf-fdpic.h
1.04
KB
-rw-r--r--
elf.h
12.69
KB
-rw-r--r--
elfcore.h
2.86
KB
-rw-r--r--
errno.h
23
B
-rw-r--r--
errqueue.h
1.1
KB
-rw-r--r--
ethtool.h
71.11
KB
-rw-r--r--
eventpoll.h
1.76
KB
-rw-r--r--
fadvise.h
779
B
-rw-r--r--
falloc.h
2.72
KB
-rw-r--r--
fanotify.h
3.52
KB
-rw-r--r--
fb.h
16
KB
-rw-r--r--
fcntl.h
2.16
KB
-rw-r--r--
fd.h
11.31
KB
-rw-r--r--
fdreg.h
5.23
KB
-rw-r--r--
fib_rules.h
1.58
KB
-rw-r--r--
fiemap.h
2.65
KB
-rw-r--r--
filter.h
1.99
KB
-rw-r--r--
firewire-cdev.h
42.86
KB
-rw-r--r--
firewire-constants.h
3.16
KB
-rw-r--r--
flat.h
2.04
KB
-rw-r--r--
fou.h
617
B
-rw-r--r--
fs.h
8.47
KB
-rw-r--r--
fsl_hypervisor.h
7.05
KB
-rw-r--r--
fuse.h
16.41
KB
-rw-r--r--
futex.h
4.81
KB
-rw-r--r--
gameport.h
834
B
-rw-r--r--
gen_stats.h
1.5
KB
-rw-r--r--
genetlink.h
1.82
KB
-rw-r--r--
gfs2_ondisk.h
12
KB
-rw-r--r--
gigaset_dev.h
1.35
KB
-rw-r--r--
hdlc.h
574
B
-rw-r--r--
hdlcdrv.h
2.78
KB
-rw-r--r--
hdreg.h
22.11
KB
-rw-r--r--
hid.h
1.79
KB
-rw-r--r--
hiddev.h
6.13
KB
-rw-r--r--
hidraw.h
1.41
KB
-rw-r--r--
hpet.h
680
B
-rw-r--r--
hw_breakpoint.h
679
B
-rw-r--r--
hyperv.h
10.22
KB
-rw-r--r--
hysdn_if.h
1.29
KB
-rw-r--r--
i2c-dev.h
2.37
KB
-rw-r--r--
i2c.h
6.66
KB
-rw-r--r--
i2o-dev.h
11.22
KB
-rw-r--r--
i8k.h
1.4
KB
-rw-r--r--
icmp.h
2.82
KB
-rw-r--r--
icmpv6.h
3.82
KB
-rw-r--r--
if.h
9.26
KB
-rw-r--r--
if_addr.h
1.7
KB
-rw-r--r--
if_addrlabel.h
658
B
-rw-r--r--
if_alg.h
816
B
-rw-r--r--
if_arcnet.h
3.63
KB
-rw-r--r--
if_arp.h
6.3
KB
-rw-r--r--
if_bonding.h
4.66
KB
-rw-r--r--
if_bridge.h
6.46
KB
-rw-r--r--
if_cablemodem.h
922
B
-rw-r--r--
if_eql.h
1.26
KB
-rw-r--r--
if_ether.h
7.25
KB
-rw-r--r--
if_fc.h
1.63
KB
-rw-r--r--
if_fddi.h
3.6
KB
-rw-r--r--
if_frad.h
2.89
KB
-rw-r--r--
if_hippi.h
4.07
KB
-rw-r--r--
if_infiniband.h
1.13
KB
-rw-r--r--
if_link.h
19.58
KB
-rw-r--r--
if_ltalk.h
147
B
-rw-r--r--
if_macsec.h
5.42
KB
-rw-r--r--
if_packet.h
7.15
KB
-rw-r--r--
if_phonet.h
361
B
-rw-r--r--
if_plip.h
596
B
-rw-r--r--
if_ppp.h
29
B
-rw-r--r--
if_pppol2tp.h
3.18
KB
-rw-r--r--
if_pppox.h
4.64
KB
-rw-r--r--
if_slip.h
809
B
-rw-r--r--
if_team.h
2.48
KB
-rw-r--r--
if_tun.h
3.71
KB
-rw-r--r--
if_tunnel.h
3.03
KB
-rw-r--r--
if_vlan.h
1.69
KB
-rw-r--r--
if_x25.h
817
B
-rw-r--r--
ife.h
288
B
-rw-r--r--
igmp.h
2.88
KB
-rw-r--r--
in.h
9.36
KB
-rw-r--r--
in6.h
6.97
KB
-rw-r--r--
in_route.h
873
B
-rw-r--r--
inet_diag.h
2.77
KB
-rw-r--r--
inotify.h
2.85
KB
-rw-r--r--
input.h
32.52
KB
-rw-r--r--
ioctl.h
100
B
-rw-r--r--
ip.h
3.47
KB
-rw-r--r--
ip6_tunnel.h
1.67
KB
-rw-r--r--
ip_vs.h
12.77
KB
-rw-r--r--
ipc.h
1.99
KB
-rw-r--r--
ipmi.h
14.63
KB
-rw-r--r--
ipmi_msgdefs.h
3.21
KB
-rw-r--r--
ipsec.h
884
B
-rw-r--r--
ipv6.h
3.66
KB
-rw-r--r--
ipv6_route.h
1.73
KB
-rw-r--r--
ipx.h
1.79
KB
-rw-r--r--
irda.h
7.31
KB
-rw-r--r--
irqnr.h
104
B
-rw-r--r--
isdn.h
5.58
KB
-rw-r--r--
isdn_divertif.h
1.11
KB
-rw-r--r--
isdn_ppp.h
1.82
KB
-rw-r--r--
isdnif.h
2.25
KB
-rw-r--r--
iso_fs.h
6.29
KB
-rw-r--r--
ivtv.h
2.89
KB
-rw-r--r--
ivtvfb.h
1.12
KB
-rw-r--r--
ixjuser.h
24.53
KB
-rw-r--r--
jffs2.h
6.85
KB
-rw-r--r--
joystick.h
3.5
KB
-rw-r--r--
kd.h
6.04
KB
-rw-r--r--
kdev_t.h
320
B
-rw-r--r--
kernel-page-flags.h
788
B
-rw-r--r--
kernel.h
375
B
-rw-r--r--
kernelcapi.h
956
B
-rw-r--r--
kexec.h
1.92
KB
-rw-r--r--
keyboard.h
12.42
KB
-rw-r--r--
keyctl.h
2.98
KB
-rw-r--r--
kvm.h
33.89
KB
-rw-r--r--
kvm_para.h
819
B
-rw-r--r--
l2tp.h
4.98
KB
-rw-r--r--
libc-compat.h
4.03
KB
-rw-r--r--
limits.h
874
B
-rw-r--r--
llc.h
2.98
KB
-rw-r--r--
loop.h
2.31
KB
-rw-r--r--
lp.h
3.72
KB
-rw-r--r--
lwtunnel.h
839
B
-rw-r--r--
magic.h
2.9
KB
-rw-r--r--
major.h
4.48
KB
-rw-r--r--
map_to_7segment.h
7.02
KB
-rw-r--r--
matroxfb.h
1.37
KB
-rw-r--r--
mdio.h
13.74
KB
-rw-r--r--
media.h
3.5
KB
-rw-r--r--
mei.h
4.62
KB
-rw-r--r--
membarrier.h
7.71
KB
-rw-r--r--
memfd.h
186
B
-rw-r--r--
mempolicy.h
2.35
KB
-rw-r--r--
meye.h
2.41
KB
-rw-r--r--
mii.h
7.76
KB
-rw-r--r--
minix_fs.h
2.01
KB
-rw-r--r--
mman.h
230
B
-rw-r--r--
mmtimer.h
2.01
KB
-rw-r--r--
mpls.h
1.33
KB
-rw-r--r--
mqueue.h
2.01
KB
-rw-r--r--
mroute.h
4.06
KB
-rw-r--r--
mroute6.h
4.08
KB
-rw-r--r--
msdos_fs.h
6.28
KB
-rw-r--r--
msg.h
3.21
KB
-rw-r--r--
mtio.h
7.92
KB
-rw-r--r--
n_r3964.h
2.29
KB
-rw-r--r--
nbd.h
2.34
KB
-rw-r--r--
ncp.h
4.94
KB
-rw-r--r--
ncp_fs.h
3.27
KB
-rw-r--r--
ncp_mount.h
2.06
KB
-rw-r--r--
ncp_no.h
651
B
-rw-r--r--
ndctl.h
6.6
KB
-rw-r--r--
neighbour.h
4.17
KB
-rw-r--r--
net.h
1.97
KB
-rw-r--r--
net_dropmon.h
1.07
KB
-rw-r--r--
net_namespace.h
609
B
-rw-r--r--
net_tstamp.h
4.06
KB
-rw-r--r--
netconf.h
423
B
-rw-r--r--
netdevice.h
1.46
KB
-rw-r--r--
netfilter.h
1.6
KB
-rw-r--r--
netfilter_arp.h
380
B
-rw-r--r--
netfilter_bridge.h
768
B
-rw-r--r--
netfilter_decnet.h
1.83
KB
-rw-r--r--
netfilter_ipv4.h
2.02
KB
-rw-r--r--
netfilter_ipv6.h
2.04
KB
-rw-r--r--
netlink.h
6.13
KB
-rw-r--r--
netlink_diag.h
1005
B
-rw-r--r--
netrom.h
744
B
-rw-r--r--
nfc.h
7.72
KB
-rw-r--r--
nfs.h
4.31
KB
-rw-r--r--
nfs2.h
1.37
KB
-rw-r--r--
nfs3.h
2.24
KB
-rw-r--r--
nfs4.h
5.95
KB
-rw-r--r--
nfs4_mount.h
1.83
KB
-rw-r--r--
nfs_fs.h
1.51
KB
-rw-r--r--
nfs_idmap.h
2.19
KB
-rw-r--r--
nfs_mount.h
2.32
KB
-rw-r--r--
nfsacl.h
605
B
-rw-r--r--
nl80211.h
270.89
KB
-rw-r--r--
nubus.h
8.17
KB
-rw-r--r--
nvme_ioctl.h
1.55
KB
-rw-r--r--
nvram.h
469
B
-rw-r--r--
omap3isp.h
20.19
KB
-rw-r--r--
omapfb.h
5.72
KB
-rw-r--r--
oom.h
448
B
-rw-r--r--
openvswitch.h
31.79
KB
-rw-r--r--
packet_diag.h
1.5
KB
-rw-r--r--
param.h
78
B
-rw-r--r--
parport.h
3.56
KB
-rw-r--r--
patchkey.h
829
B
-rw-r--r--
pci.h
1.29
KB
-rw-r--r--
pci_regs.h
50.79
KB
-rw-r--r--
perf_event.h
31.96
KB
-rw-r--r--
personality.h
1.99
KB
-rw-r--r--
pfkeyv2.h
9.91
KB
-rw-r--r--
pg.h
2.23
KB
-rw-r--r--
phantom.h
1.55
KB
-rw-r--r--
phonet.h
4.51
KB
-rw-r--r--
pkt_cls.h
12.49
KB
-rw-r--r--
pkt_sched.h
20.63
KB
-rw-r--r--
pktcdvd.h
2.56
KB
-rw-r--r--
pmu.h
5.13
KB
-rw-r--r--
poll.h
22
B
-rw-r--r--
posix_types.h
1.01
KB
-rw-r--r--
ppdev.h
3.07
KB
-rw-r--r--
ppp-comp.h
2.41
KB
-rw-r--r--
ppp-ioctl.h
5.29
KB
-rw-r--r--
ppp_defs.h
4.93
KB
-rw-r--r--
pps.h
4.06
KB
-rw-r--r--
prctl.h
6.75
KB
-rw-r--r--
psample.h
735
B
-rw-r--r--
ptp_clock.h
5.09
KB
-rw-r--r--
ptrace.h
3.08
KB
-rw-r--r--
qnx4_fs.h
2.21
KB
-rw-r--r--
qnxtypes.h
561
B
-rw-r--r--
quota.h
5.78
KB
-rw-r--r--
radeonfb.h
297
B
-rw-r--r--
random.h
1.2
KB
-rw-r--r--
raw.h
302
B
-rw-r--r--
rds.h
7.9
KB
-rw-r--r--
reboot.h
1.25
KB
-rw-r--r--
reiserfs_fs.h
712
B
-rw-r--r--
reiserfs_xattr.h
470
B
-rw-r--r--
resource.h
2.09
KB
-rw-r--r--
rfkill.h
3.5
KB
-rw-r--r--
romfs_fs.h
1.15
KB
-rw-r--r--
rose.h
2.12
KB
-rw-r--r--
route.h
2.21
KB
-rw-r--r--
rtc.h
3.85
KB
-rw-r--r--
rtnetlink.h
17.02
KB
-rw-r--r--
scc.h
4.43
KB
-rw-r--r--
sched.h
2.26
KB
-rw-r--r--
screen_info.h
2.36
KB
-rw-r--r--
sctp.h
29.53
KB
-rw-r--r--
sdla.h
2.71
KB
-rw-r--r--
seccomp.h
1.83
KB
-rw-r--r--
securebits.h
2.58
KB
-rw-r--r--
selinux_netlink.h
1.11
KB
-rw-r--r--
sem.h
2.54
KB
-rw-r--r--
serial.h
3.04
KB
-rw-r--r--
serial_core.h
5.11
KB
-rw-r--r--
serial_reg.h
15.66
KB
-rw-r--r--
serio.h
1.81
KB
-rw-r--r--
shm.h
2.19
KB
-rw-r--r--
signal.h
171
B
-rw-r--r--
signalfd.h
1.07
KB
-rw-r--r--
snmp.h
12.42
KB
-rw-r--r--
sock_diag.h
431
B
-rw-r--r--
socket.h
738
B
-rw-r--r--
sockios.h
5.83
KB
-rw-r--r--
som.h
5.35
KB
-rw-r--r--
sonet.h
2.17
KB
-rw-r--r--
sonypi.h
5.12
KB
-rw-r--r--
sound.h
1.15
KB
-rw-r--r--
soundcard.h
44.96
KB
-rw-r--r--
stat.h
1
KB
-rw-r--r--
stddef.h
1
B
-rw-r--r--
string.h
175
B
-rw-r--r--
suspend_ioctls.h
1.34
KB
-rw-r--r--
swab.h
6.36
KB
-rw-r--r--
synclink.h
8.71
KB
-rw-r--r--
sysctl.h
25.46
KB
-rw-r--r--
sysinfo.h
986
B
-rw-r--r--
target_core_user.h
3.65
KB
-rw-r--r--
taskstats.h
6.83
KB
-rw-r--r--
tcp.h
5.93
KB
-rw-r--r--
tcp_metrics.h
1.45
KB
-rw-r--r--
telephony.h
8.84
KB
-rw-r--r--
termios.h
443
B
-rw-r--r--
time.h
1.54
KB
-rw-r--r--
times.h
215
B
-rw-r--r--
timex.h
6.17
KB
-rw-r--r--
tiocl.h
1.63
KB
-rw-r--r--
tipc.h
5.44
KB
-rw-r--r--
tipc_config.h
14.1
KB
-rw-r--r--
toshiba.h
1.24
KB
-rw-r--r--
tty.h
1.33
KB
-rw-r--r--
tty_flags.h
3.66
KB
-rw-r--r--
types.h
1.4
KB
-rw-r--r--
udf_fs_i.h
634
B
-rw-r--r--
udp.h
1.28
KB
-rw-r--r--
uhid.h
2.15
KB
-rw-r--r--
uinput.h
5
KB
-rw-r--r--
uio.h
668
B
-rw-r--r--
ultrasound.h
4.39
KB
-rw-r--r--
un.h
239
B
-rw-r--r--
unistd.h
157
B
-rw-r--r--
unix_diag.h
1.1
KB
-rw-r--r--
usbdevice_fs.h
6.78
KB
-rw-r--r--
userfaultfd.h
6.59
KB
-rw-r--r--
utime.h
152
B
-rw-r--r--
utsname.h
606
B
-rw-r--r--
uuid.h
1.5
KB
-rw-r--r--
uvcvideo.h
1.6
KB
-rw-r--r--
v4l2-common.h
2.38
KB
-rw-r--r--
v4l2-controls.h
37.34
KB
-rw-r--r--
v4l2-dv-timings.h
25.75
KB
-rw-r--r--
v4l2-mediabus.h
4.55
KB
-rw-r--r--
v4l2-subdev.h
5.27
KB
-rw-r--r--
version.h
332
B
-rw-r--r--
veth.h
161
B
-rw-r--r--
vfio.h
26.54
KB
-rw-r--r--
vhost.h
7.13
KB
-rw-r--r--
videodev2.h
67.36
KB
-rw-r--r--
virtio_9p.h
1.99
KB
-rw-r--r--
virtio_balloon.h
3.71
KB
-rw-r--r--
virtio_blk.h
5.2
KB
-rw-r--r--
virtio_config.h
3.34
KB
-rw-r--r--
virtio_console.h
2.94
KB
-rw-r--r--
virtio_gpu.h
8.23
KB
-rw-r--r--
virtio_ids.h
2.32
KB
-rw-r--r--
virtio_input.h
2.45
KB
-rw-r--r--
virtio_net.h
9.5
KB
-rw-r--r--
virtio_pci.h
6.63
KB
-rw-r--r--
virtio_ring.h
6.18
KB
-rw-r--r--
virtio_rng.h
265
B
-rw-r--r--
virtio_scsi.h
5.13
KB
-rw-r--r--
virtio_types.h
2.11
KB
-rw-r--r--
virtio_vsock.h
3.01
KB
-rw-r--r--
vm_sockets.h
5.13
KB
-rw-r--r--
vsockmon.h
1.78
KB
-rw-r--r--
vt.h
2.98
KB
-rw-r--r--
vtpm_proxy.h
1.62
KB
-rw-r--r--
wait.h
600
B
-rw-r--r--
wanrouter.h
390
B
-rw-r--r--
watchdog.h
2.22
KB
-rw-r--r--
wimax.h
8.17
KB
-rw-r--r--
wireless.h
41.65
KB
-rw-r--r--
wmi.h
1.84
KB
-rw-r--r--
x25.h
3.42
KB
-rw-r--r--
xattr.h
2.53
KB
-rw-r--r--
xfrm.h
11
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : hyperv.h
/* * * Copyright (c) 2011, Microsoft Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. * * Authors: * Haiyang Zhang <haiyangz@microsoft.com> * Hank Janssen <hjanssen@microsoft.com> * K. Y. Srinivasan <kys@microsoft.com> * */ #ifndef _HYPERV_H #define _HYPERV_H #include <linux/uuid.h> /* * Framework version for util services. */ #define UTIL_FW_MINOR 0 #define UTIL_WS2K8_FW_MAJOR 1 #define UTIL_WS2K8_FW_VERSION (UTIL_WS2K8_FW_MAJOR << 16 | UTIL_FW_MINOR) #define UTIL_FW_MAJOR 3 #define UTIL_FW_VERSION (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR) /* * Implementation of host controlled snapshot of the guest. */ #define VSS_OP_REGISTER 128 /* Daemon code with full handshake support. */ #define VSS_OP_REGISTER1 129 enum hv_vss_op { VSS_OP_CREATE = 0, VSS_OP_DELETE, VSS_OP_HOT_BACKUP, VSS_OP_GET_DM_INFO, VSS_OP_BU_COMPLETE, /* * Following operations are only supported with IC version >= 5.0 */ VSS_OP_FREEZE, /* Freeze the file systems in the VM */ VSS_OP_THAW, /* Unfreeze the file systems */ VSS_OP_AUTO_RECOVER, VSS_OP_COUNT /* Number of operations, must be last */ }; /* * Header for all VSS messages. */ struct hv_vss_hdr { __u8 operation; __u8 reserved[7]; } __attribute__((packed)); /* * Flag values for the hv_vss_check_feature. Linux supports only * one value. */ #define VSS_HBU_NO_AUTO_RECOVERY 0x00000005 struct hv_vss_check_feature { __u32 flags; } __attribute__((packed)); struct hv_vss_check_dm_info { __u32 flags; } __attribute__((packed)); struct hv_vss_msg { union { struct hv_vss_hdr vss_hdr; int error; }; union { struct hv_vss_check_feature vss_cf; struct hv_vss_check_dm_info dm_info; }; } __attribute__((packed)); /* * Implementation of a host to guest copy facility. */ #define FCOPY_VERSION_0 0 #define FCOPY_VERSION_1 1 #define FCOPY_CURRENT_VERSION FCOPY_VERSION_1 #define W_MAX_PATH 260 enum hv_fcopy_op { START_FILE_COPY = 0, WRITE_TO_FILE, COMPLETE_FCOPY, CANCEL_FCOPY, }; struct hv_fcopy_hdr { __u32 operation; uuid_le service_id0; /* currently unused */ uuid_le service_id1; /* currently unused */ } __attribute__((packed)); #define OVER_WRITE 0x1 #define CREATE_PATH 0x2 struct hv_start_fcopy { struct hv_fcopy_hdr hdr; __u16 file_name[W_MAX_PATH]; __u16 path_name[W_MAX_PATH]; __u32 copy_flags; __u64 file_size; } __attribute__((packed)); /* * The file is chunked into fragments. */ #define DATA_FRAGMENT (6 * 1024) struct hv_do_fcopy { struct hv_fcopy_hdr hdr; __u64 offset; __u32 size; __u8 data[DATA_FRAGMENT]; }; /* * An implementation of HyperV key value pair (KVP) functionality for Linux. * * * Copyright (C) 2010, Novell, Inc. * Author : K. Y. Srinivasan <ksrinivasan@novell.com> * */ /* * Maximum value size - used for both key names and value data, and includes * any applicable NULL terminators. * * Note: This limit is somewhat arbitrary, but falls easily within what is * supported for all native guests (back to Win 2000) and what is reasonable * for the IC KVP exchange functionality. Note that Windows Me/98/95 are * limited to 255 character key names. * * MSDN recommends not storing data values larger than 2048 bytes in the * registry. * * Note: This value is used in defining the KVP exchange message - this value * cannot be modified without affecting the message size and compatibility. */ /* * bytes, including any null terminators */ #define HV_KVP_EXCHANGE_MAX_VALUE_SIZE (2048) /* * Maximum key size - the registry limit for the length of an entry name * is 256 characters, including the null terminator */ #define HV_KVP_EXCHANGE_MAX_KEY_SIZE (512) /* * In Linux, we implement the KVP functionality in two components: * 1) The kernel component which is packaged as part of the hv_utils driver * is responsible for communicating with the host and responsible for * implementing the host/guest protocol. 2) A user level daemon that is * responsible for data gathering. * * Host/Guest Protocol: The host iterates over an index and expects the guest * to assign a key name to the index and also return the value corresponding to * the key. The host will have atmost one KVP transaction outstanding at any * given point in time. The host side iteration stops when the guest returns * an error. Microsoft has specified the following mapping of key names to * host specified index: * * Index Key Name * 0 FullyQualifiedDomainName * 1 IntegrationServicesVersion * 2 NetworkAddressIPv4 * 3 NetworkAddressIPv6 * 4 OSBuildNumber * 5 OSName * 6 OSMajorVersion * 7 OSMinorVersion * 8 OSVersion * 9 ProcessorArchitecture * * The Windows host expects the Key Name and Key Value to be encoded in utf16. * * Guest Kernel/KVP Daemon Protocol: As noted earlier, we implement all of the * data gathering functionality in a user mode daemon. The user level daemon * is also responsible for binding the key name to the index as well. The * kernel and user-level daemon communicate using a connector channel. * * The user mode component first registers with the * the kernel component. Subsequently, the kernel component requests, data * for the specified keys. In response to this message the user mode component * fills in the value corresponding to the specified key. We overload the * sequence field in the cn_msg header to define our KVP message types. * * * The kernel component simply acts as a conduit for communication between the * Windows host and the user-level daemon. The kernel component passes up the * index received from the Host to the user-level daemon. If the index is * valid (supported), the corresponding key as well as its * value (both are strings) is returned. If the index is invalid * (not supported), a NULL key string is returned. */ /* * Registry value types. */ #define REG_SZ 1 #define REG_U32 4 #define REG_U64 8 /* * As we look at expanding the KVP functionality to include * IP injection functionality, we need to maintain binary * compatibility with older daemons. * * The KVP opcodes are defined by the host and it was unfortunate * that I chose to treat the registration operation as part of the * KVP operations defined by the host. * Here is the level of compatibility * (between the user level daemon and the kernel KVP driver) that we * will implement: * * An older daemon will always be supported on a newer driver. * A given user level daemon will require a minimal version of the * kernel driver. * If we cannot handle the version differences, we will fail gracefully * (this can happen when we have a user level daemon that is more * advanced than the KVP driver. * * We will use values used in this handshake for determining if we have * workable user level daemon and the kernel driver. We begin by taking the * registration opcode out of the KVP opcode namespace. We will however, * maintain compatibility with the existing user-level daemon code. */ /* * Daemon code not supporting IP injection (legacy daemon). */ #define KVP_OP_REGISTER 4 /* * Daemon code supporting IP injection. * The KVP opcode field is used to communicate the * registration information; so define a namespace that * will be distinct from the host defined KVP opcode. */ #define KVP_OP_REGISTER1 100 enum hv_kvp_exchg_op { KVP_OP_GET = 0, KVP_OP_SET, KVP_OP_DELETE, KVP_OP_ENUMERATE, KVP_OP_GET_IP_INFO, KVP_OP_SET_IP_INFO, KVP_OP_COUNT /* Number of operations, must be last. */ }; enum hv_kvp_exchg_pool { KVP_POOL_EXTERNAL = 0, KVP_POOL_GUEST, KVP_POOL_AUTO, KVP_POOL_AUTO_EXTERNAL, KVP_POOL_AUTO_INTERNAL, KVP_POOL_COUNT /* Number of pools, must be last. */ }; /* * Some Hyper-V status codes. */ #define HV_S_OK 0x00000000 #define HV_E_FAIL 0x80004005 #define HV_S_CONT 0x80070103 #define HV_ERROR_NOT_SUPPORTED 0x80070032 #define HV_ERROR_MACHINE_LOCKED 0x800704F7 #define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F #define HV_INVALIDARG 0x80070057 #define HV_GUID_NOTFOUND 0x80041002 #define HV_ERROR_ALREADY_EXISTS 0x80070050 #define HV_ERROR_DISK_FULL 0x80070070 #define ADDR_FAMILY_NONE 0x00 #define ADDR_FAMILY_IPV4 0x01 #define ADDR_FAMILY_IPV6 0x02 #define MAX_ADAPTER_ID_SIZE 128 #define MAX_IP_ADDR_SIZE 1024 #define MAX_GATEWAY_SIZE 512 struct hv_kvp_ipaddr_value { __u16 adapter_id[MAX_ADAPTER_ID_SIZE]; __u8 addr_family; __u8 dhcp_enabled; __u16 ip_addr[MAX_IP_ADDR_SIZE]; __u16 sub_net[MAX_IP_ADDR_SIZE]; __u16 gate_way[MAX_GATEWAY_SIZE]; __u16 dns_addr[MAX_IP_ADDR_SIZE]; } __attribute__((packed)); struct hv_kvp_hdr { __u8 operation; __u8 pool; __u16 pad; } __attribute__((packed)); struct hv_kvp_exchg_msg_value { __u32 value_type; __u32 key_size; __u32 value_size; __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; union { __u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE]; __u32 value_u32; __u64 value_u64; }; } __attribute__((packed)); struct hv_kvp_msg_enumerate { __u32 index; struct hv_kvp_exchg_msg_value data; } __attribute__((packed)); struct hv_kvp_msg_get { struct hv_kvp_exchg_msg_value data; }; struct hv_kvp_msg_set { struct hv_kvp_exchg_msg_value data; }; struct hv_kvp_msg_delete { __u32 key_size; __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; }; struct hv_kvp_register { __u8 version[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; }; struct hv_kvp_msg { union { struct hv_kvp_hdr kvp_hdr; int error; }; union { struct hv_kvp_msg_get kvp_get; struct hv_kvp_msg_set kvp_set; struct hv_kvp_msg_delete kvp_delete; struct hv_kvp_msg_enumerate kvp_enum_data; struct hv_kvp_ipaddr_value kvp_ip_val; struct hv_kvp_register kvp_register; } body; } __attribute__((packed)); struct hv_kvp_ip_msg { __u8 operation; __u8 pool; struct hv_kvp_ipaddr_value kvp_ip_val; } __attribute__((packed)); #endif /* _HYPERV_H */
Close