From 936811ff5c0774ac1e087bdf3d09f5444f0d9eab Mon Sep 17 00:00:00 2001 From: Wind4 Date: Mon, 24 Oct 2016 21:32:24 +0800 Subject: [PATCH] vlmcsd-svn1085-2016-10-21-Hotbird64 --- GNUmakefile | 3 + VisualStudio/vlmcs/vlmcs.vcxproj | 1 + VisualStudio/vlmcsd.sln | 4 +- etc/vlmcsd.ini | 8 + floppy/floppy144.vfd | Bin 1474560 -> 1474560 bytes hotbird64-mass-build/make_dragonfly | 2 +- man/vlmcs.1 | 4 +- man/vlmcs.1.dos.txt | 4 +- man/vlmcs.1.html | 10 +- man/vlmcs.1.pdf | Bin 26351 -> 26377 bytes man/vlmcs.1.unix.txt | 4 +- man/vlmcsd-floppy.7.html | 23 +- man/vlmcsd-floppy.7.pdf | Bin 35003 -> 35005 bytes man/vlmcsd.7.html | 63 +- man/vlmcsd.7.pdf | Bin 17301 -> 17301 bytes man/vlmcsd.8 | 23 +- man/vlmcsd.8.dos.txt | 37 +- man/vlmcsd.8.html | 66 +- man/vlmcsd.8.pdf | Bin 39652 -> 40985 bytes man/vlmcsd.8.unix.txt | 37 +- man/vlmcsd.ini.5 | 21 +- man/vlmcsd.ini.5.dos.txt | 109 ++- man/vlmcsd.ini.5.html | 59 +- man/vlmcsd.ini.5.pdf | Bin 20918 -> 22074 bytes man/vlmcsd.ini.5.unix.txt | 109 ++- man/vlmcsdmulti.1.html | 6 +- man/vlmcsdmulti.1.pdf | Bin 10042 -> 10042 bytes src/GNUmakefile | 6 +- .../usr/include/_G_config.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/aio.h | 0 .../usr/include/aliases.h | 0 .../usr/include/alloca.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/ar.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/argp.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/argz.h | 0 .../usr/include/arpa/ftp.h | 0 .../usr/include/arpa/inet.h | 0 .../usr/include/arpa/nameser.h | 0 .../usr/include/arpa/nameser_compat.h | 0 .../usr/include/arpa/telnet.h | 0 .../usr/include/arpa/tftp.h | 0 .../usr/include/asm-generic/auxvec.h | 0 .../usr/include/asm-generic/bitsperlong.h | 0 .../usr/include/asm-generic/errno-base.h | 0 .../usr/include/asm-generic/errno.h | 0 .../usr/include/asm-generic/fcntl.h | 0 .../usr/include/asm-generic/int-l64.h | 0 .../usr/include/asm-generic/int-ll64.h | 0 .../usr/include/asm-generic/ioctl.h | 0 .../usr/include/asm-generic/ioctls.h | 0 .../usr/include/asm-generic/ipcbuf.h | 0 .../usr/include/asm-generic/kvm_para.h | 0 .../usr/include/asm-generic/mman-common.h | 0 .../usr/include/asm-generic/mman.h | 0 .../usr/include/asm-generic/msgbuf.h | 0 .../usr/include/asm-generic/param.h | 0 .../usr/include/asm-generic/poll.h | 0 .../usr/include/asm-generic/posix_types.h | 0 .../usr/include/asm-generic/resource.h | 0 .../usr/include/asm-generic/sembuf.h | 0 .../usr/include/asm-generic/setup.h | 0 .../usr/include/asm-generic/shmbuf.h | 0 .../usr/include/asm-generic/shmparam.h | 0 .../usr/include/asm-generic/siginfo.h | 0 .../usr/include/asm-generic/signal-defs.h | 0 .../usr/include/asm-generic/signal.h | 0 .../usr/include/asm-generic/socket.h | 0 .../usr/include/asm-generic/sockios.h | 0 .../usr/include/asm-generic/stat.h | 0 .../usr/include/asm-generic/statfs.h | 0 .../usr/include/asm-generic/swab.h | 0 .../usr/include/asm-generic/termbits.h | 0 .../usr/include/asm-generic/termios.h | 0 .../usr/include/asm-generic/types.h | 0 .../usr/include/asm-generic/ucontext.h | 0 .../usr/include/asm-generic/unistd.h | 0 .../usr/include/asm/a.out.h | 0 .../usr/include/asm/auxvec.h | 0 .../usr/include/asm/bitsperlong.h | 0 .../usr/include/asm/boot.h | 0 .../usr/include/asm/bootparam.h | 0 .../usr/include/asm/byteorder.h | 0 .../usr/include/asm/debugreg.h | 0 .../usr/include/asm/e820.h | 0 .../usr/include/asm/errno.h | 0 .../usr/include/asm/fcntl.h | 0 .../usr/include/asm/hw_breakpoint.h | 0 .../usr/include/asm/hyperv.h | 0 .../usr/include/asm/ioctl.h | 0 .../usr/include/asm/ioctls.h | 0 .../usr/include/asm/ipcbuf.h | 0 .../usr/include/asm/ist.h | 0 .../usr/include/asm/kvm.h | 0 .../usr/include/asm/kvm_para.h | 0 .../usr/include/asm/kvm_perf.h | 0 .../usr/include/asm/ldt.h | 0 .../usr/include/asm/mce.h | 0 .../usr/include/asm/mman.h | 0 .../usr/include/asm/msgbuf.h | 0 .../usr/include/asm/msr-index.h | 0 .../usr/include/asm/msr.h | 0 .../usr/include/asm/mtrr.h | 0 .../usr/include/asm/param.h | 0 .../usr/include/asm/perf_regs.h | 0 .../usr/include/asm/poll.h | 0 .../usr/include/asm/posix_types.h | 0 .../usr/include/asm/posix_types_32.h | 0 .../usr/include/asm/posix_types_64.h | 0 .../usr/include/asm/posix_types_x32.h | 0 .../usr/include/asm/prctl.h | 0 .../usr/include/asm/processor-flags.h | 0 .../usr/include/asm/ptrace-abi.h | 0 .../usr/include/asm/ptrace.h | 0 .../usr/include/asm/resource.h | 0 .../usr/include/asm/sembuf.h | 0 .../usr/include/asm/setup.h | 0 .../usr/include/asm/shmbuf.h | 0 .../usr/include/asm/sigcontext.h | 0 .../usr/include/asm/sigcontext32.h | 0 .../usr/include/asm/siginfo.h | 0 .../usr/include/asm/signal.h | 0 .../usr/include/asm/socket.h | 0 .../usr/include/asm/sockios.h | 0 .../usr/include/asm/stat.h | 0 .../usr/include/asm/statfs.h | 0 .../usr/include/asm/svm.h | 0 .../usr/include/asm/swab.h | 0 .../usr/include/asm/termbits.h | 0 .../usr/include/asm/termios.h | 0 .../usr/include/asm/types.h | 0 .../usr/include/asm/ucontext.h | 0 .../usr/include/asm/unistd.h | 0 .../usr/include/asm/unistd_32.h | 0 .../usr/include/asm/unistd_64.h | 0 .../usr/include/asm/unistd_x32.h | 0 .../usr/include/asm/vm86.h | 0 .../usr/include/asm/vmx.h | 0 .../usr/include/asm/vsyscall.h | 0 .../usr/include/assert.h | 0 .../usr/include/bits/a.out.h | 0 .../usr/include/bits/auxv.h | 0 .../usr/include/bits/byteswap-16.h | 0 .../usr/include/bits/byteswap.h | 0 .../usr/include/bits/cmathcalls.h | 0 .../usr/include/bits/confname.h | 0 .../usr/include/bits/dirent.h | 0 .../usr/include/bits/dlfcn.h | 0 .../usr/include/bits/elfclass.h | 0 .../usr/include/bits/endian.h | 0 .../usr/include/bits/environments.h | 0 .../usr/include/bits/epoll.h | 0 .../usr/include/bits/errno.h | 0 .../usr/include/bits/error.h | 0 .../usr/include/bits/eventfd.h | 0 .../usr/include/bits/fcntl-linux.h | 0 .../usr/include/bits/fcntl.h | 0 .../usr/include/bits/fcntl2.h | 0 .../usr/include/bits/fenv.h | 0 .../usr/include/bits/fenvinline.h | 0 .../usr/include/bits/huge_val.h | 0 .../usr/include/bits/huge_valf.h | 0 .../usr/include/bits/huge_vall.h | 0 .../usr/include/bits/hwcap.h | 0 .../usr/include/bits/in.h | 0 .../usr/include/bits/inf.h | 0 .../usr/include/bits/initspin.h | 0 .../usr/include/bits/inotify.h | 0 .../usr/include/bits/ioctl-types.h | 0 .../usr/include/bits/ioctls.h | 0 .../usr/include/bits/ipc.h | 0 .../usr/include/bits/ipctypes.h | 0 .../usr/include/bits/libio-ldbl.h | 0 .../usr/include/bits/libm-simd-decl-stubs.h | 0 .../usr/include/bits/link.h | 0 .../usr/include/bits/local_lim.h | 0 .../usr/include/bits/locale.h | 0 .../usr/include/bits/math-finite.h | 0 .../usr/include/bits/math-vector.h | 0 .../usr/include/bits/mathcalls.h | 0 .../usr/include/bits/mathdef.h | 0 .../usr/include/bits/mathinline.h | 0 .../usr/include/bits/mman-linux.h | 0 .../usr/include/bits/mman.h | 0 .../usr/include/bits/monetary-ldbl.h | 0 .../usr/include/bits/mqueue.h | 0 .../usr/include/bits/mqueue2.h | 0 .../usr/include/bits/msq.h | 0 .../usr/include/bits/nan.h | 0 .../usr/include/bits/netdb.h | 0 .../usr/include/bits/param.h | 0 .../usr/include/bits/poll.h | 0 .../usr/include/bits/poll2.h | 0 .../usr/include/bits/posix1_lim.h | 0 .../usr/include/bits/posix2_lim.h | 0 .../usr/include/bits/posix_opt.h | 0 .../usr/include/bits/printf-ldbl.h | 0 .../usr/include/bits/pthreadtypes.h | 0 .../usr/include/bits/resource.h | 0 .../usr/include/bits/sched.h | 0 .../usr/include/bits/select.h | 0 .../usr/include/bits/select2.h | 0 .../usr/include/bits/sem.h | 0 .../usr/include/bits/semaphore.h | 0 .../usr/include/bits/setjmp.h | 0 .../usr/include/bits/setjmp2.h | 0 .../usr/include/bits/shm.h | 0 .../usr/include/bits/sigaction.h | 0 .../usr/include/bits/sigcontext.h | 0 .../usr/include/bits/siginfo.h | 0 .../usr/include/bits/signalfd.h | 0 .../usr/include/bits/signum.h | 0 .../usr/include/bits/sigset.h | 0 .../usr/include/bits/sigstack.h | 0 .../usr/include/bits/sigthread.h | 0 .../usr/include/bits/sockaddr.h | 0 .../usr/include/bits/socket.h | 0 .../usr/include/bits/socket2.h | 0 .../usr/include/bits/socket_type.h | 0 .../usr/include/bits/stab.def | 0 .../usr/include/bits/stat.h | 0 .../usr/include/bits/statfs.h | 0 .../usr/include/bits/statvfs.h | 0 .../usr/include/bits/stdio-ldbl.h | 0 .../usr/include/bits/stdio.h | 0 .../usr/include/bits/stdio2.h | 0 .../usr/include/bits/stdio_lim.h | 0 .../usr/include/bits/stdlib-bsearch.h | 0 .../usr/include/bits/stdlib-float.h | 0 .../usr/include/bits/stdlib-ldbl.h | 0 .../usr/include/bits/stdlib.h | 0 .../usr/include/bits/string.h | 0 .../usr/include/bits/string2.h | 0 .../usr/include/bits/string3.h | 0 .../usr/include/bits/stropts.h | 0 .../usr/include/bits/sys_errlist.h | 0 .../usr/include/bits/syscall.h | 0 .../usr/include/bits/sysctl.h | 0 .../usr/include/bits/syslog-ldbl.h | 0 .../usr/include/bits/syslog-path.h | 0 .../usr/include/bits/syslog.h | 0 .../usr/include/bits/termios.h | 0 .../usr/include/bits/time.h | 0 .../usr/include/bits/timerfd.h | 0 .../usr/include/bits/timex.h | 0 .../usr/include/bits/types.h | 0 .../usr/include/bits/typesizes.h | 0 .../usr/include/bits/uio.h | 0 .../usr/include/bits/unistd.h | 0 .../usr/include/bits/ustat.h | 0 .../usr/include/bits/utmp.h | 0 .../usr/include/bits/utmpx.h | 0 .../usr/include/bits/utsname.h | 0 .../usr/include/bits/waitflags.h | 0 .../usr/include/bits/waitstatus.h | 0 .../usr/include/bits/wchar-ldbl.h | 0 .../usr/include/bits/wchar.h | 0 .../usr/include/bits/wchar2.h | 0 .../usr/include/bits/wordsize.h | 0 .../usr/include/bits/xopen_lim.h | 0 .../usr/include/bits/xtitypes.h | 0 .../usr/include/byteswap.h | 0 .../usr/include/complex.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/cpio.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/crypt.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/ctype.h | 0 .../usr/include/dirent.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/dlfcn.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/elf.h | 0 .../usr/include/endian.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/envz.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/err.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/errno.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/error.h | 0 .../usr/include/execinfo.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/fcntl.h | 0 .../usr/include/features.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/fenv.h | 0 .../usr/include/fmtmsg.h | 0 .../usr/include/fnmatch.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/fstab.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/fts.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/ftw.h | 0 .../usr/include/gawkapi.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/gconv.h | 0 .../usr/include/getopt.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/glob.h | 0 .../usr/include/gnu-versions.h | 0 .../usr/include/gnumake.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/grp.h | 0 .../usr/include/gshadow.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/iconv.h | 0 .../usr/include/ifaddrs.h | 0 .../usr/include/inttypes.h | 0 .../usr/include/langinfo.h | 0 .../usr/include/lastlog.h | 0 .../usr/include/libgen.h | 0 .../usr/include/libintl.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/libio.h | 0 .../usr/include/limits.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/link.h | 0 .../usr/include/locale.h | 0 .../usr/include/malloc.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/math.h | 0 .../usr/include/mcheck.h | 0 .../usr/include/memory.h | 0 .../usr/include/misc/cxl.h | 0 .../usr/include/mntent.h | 0 .../usr/include/monetary.h | 0 .../usr/include/mqueue.h | 0 .../usr/include/net/ethernet.h | 0 .../usr/include/net/if.h | 0 .../usr/include/net/if_arp.h | 0 .../usr/include/net/if_packet.h | 0 .../usr/include/net/if_ppp.h | 0 .../usr/include/net/if_shaper.h | 0 .../usr/include/net/if_slip.h | 0 .../usr/include/net/ppp-comp.h | 0 .../usr/include/net/ppp_defs.h | 0 .../usr/include/net/route.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/netdb.h | 0 .../usr/include/netinet/ether.h | 0 .../usr/include/netinet/icmp6.h | 0 .../usr/include/netinet/if_ether.h | 0 .../usr/include/netinet/if_fddi.h | 0 .../usr/include/netinet/if_tr.h | 0 .../usr/include/netinet/igmp.h | 0 .../usr/include/netinet/in.h | 0 .../usr/include/netinet/in_systm.h | 0 .../usr/include/netinet/ip.h | 0 .../usr/include/netinet/ip6.h | 0 .../usr/include/netinet/ip_icmp.h | 0 .../usr/include/netinet/tcp.h | 0 .../usr/include/netinet/udp.h | 0 .../usr/include/nl_types.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/nss.h | 0 .../usr/include/obstack.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/paths.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/poll.h | 0 .../usr/include/printf.h | 0 .../usr/include/protocols/routed.h | 0 .../usr/include/protocols/rwhod.h | 0 .../usr/include/protocols/talkd.h | 0 .../usr/include/protocols/timed.h | 0 .../usr/include/pthread.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/pty.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/pwd.h | 0 .../usr/include/re_comp.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/regex.h | 0 .../usr/include/regexp.h | 0 .../usr/include/resolv.h | 0 .../usr/include/rpc/auth.h | 0 .../usr/include/rpc/auth_des.h | 0 .../usr/include/rpc/auth_unix.h | 0 .../usr/include/rpc/clnt.h | 0 .../usr/include/rpc/des_crypt.h | 0 .../usr/include/rpc/key_prot.h | 0 .../usr/include/rpc/netdb.h | 0 .../usr/include/rpc/pmap_clnt.h | 0 .../usr/include/rpc/pmap_prot.h | 0 .../usr/include/rpc/pmap_rmt.h | 0 .../usr/include/rpc/rpc.h | 0 .../usr/include/rpc/rpc_des.h | 0 .../usr/include/rpc/rpc_msg.h | 0 .../usr/include/rpc/svc.h | 0 .../usr/include/rpc/svc_auth.h | 0 .../usr/include/rpc/types.h | 0 .../usr/include/rpc/xdr.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/sched.h | 0 .../usr/include/search.h | 0 .../usr/include/semaphore.h | 0 .../usr/include/setjmp.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/sgtty.h | 0 .../usr/include/shadow.h | 0 .../usr/include/signal.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/spawn.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/stab.h | 0 .../usr/include/stdc-predef.h | 0 .../usr/include/stdint.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/stdio.h | 0 .../usr/include/stdio_ext.h | 0 .../usr/include/stdlib.h | 0 .../usr/include/string.h | 0 .../usr/include/strings.h | 0 .../usr/include/stropts.h | 0 .../usr/include/sudo_plugin.h | 0 .../usr/include/sys/acct.h | 0 .../usr/include/sys/acl.h | 0 .../usr/include/sys/asoundlib.h | 0 .../usr/include/sys/auxv.h | 0 .../usr/include/sys/bitypes.h | 0 .../usr/include/sys/capability.h | 0 .../usr/include/sys/cdefs.h | 0 .../usr/include/sys/debugreg.h | 0 .../usr/include/sys/dir.h | 0 .../usr/include/sys/elf.h | 0 .../usr/include/sys/epoll.h | 0 .../usr/include/sys/errno.h | 0 .../usr/include/sys/eventfd.h | 0 .../usr/include/sys/fanotify.h | 0 .../usr/include/sys/fcntl.h | 0 .../usr/include/sys/file.h | 0 .../usr/include/sys/fsuid.h | 0 .../usr/include/sys/gmon.h | 0 .../usr/include/sys/gmon_out.h | 0 .../usr/include/sys/inotify.h | 0 .../usr/include/sys/io.h | 0 .../usr/include/sys/ioctl.h | 0 .../usr/include/sys/ipc.h | 0 .../usr/include/sys/kd.h | 0 .../usr/include/sys/klog.h | 0 .../usr/include/sys/mman.h | 0 .../usr/include/sys/mount.h | 0 .../usr/include/sys/msg.h | 0 .../usr/include/sys/mtio.h | 0 .../usr/include/sys/param.h | 0 .../usr/include/sys/pci.h | 0 .../usr/include/sys/perm.h | 0 .../usr/include/sys/personality.h | 0 .../usr/include/sys/poll.h | 0 .../usr/include/sys/prctl.h | 0 .../usr/include/sys/procfs.h | 0 .../usr/include/sys/profil.h | 0 .../usr/include/sys/ptrace.h | 0 .../usr/include/sys/queue.h | 0 .../usr/include/sys/quota.h | 0 .../usr/include/sys/raw.h | 0 .../usr/include/sys/reboot.h | 0 .../usr/include/sys/reg.h | 0 .../usr/include/sys/resource.h | 0 .../usr/include/sys/select.h | 0 .../usr/include/sys/sem.h | 0 .../usr/include/sys/sendfile.h | 0 .../usr/include/sys/shm.h | 0 .../usr/include/sys/signal.h | 0 .../usr/include/sys/signalfd.h | 0 .../usr/include/sys/socket.h | 0 .../usr/include/sys/socketvar.h | 0 .../usr/include/sys/soundcard.h | 0 .../usr/include/sys/stat.h | 0 .../usr/include/sys/statfs.h | 0 .../usr/include/sys/statvfs.h | 0 .../usr/include/sys/stropts.h | 0 .../usr/include/sys/swap.h | 0 .../usr/include/sys/syscall.h | 0 .../usr/include/sys/sysctl.h | 0 .../usr/include/sys/sysinfo.h | 0 .../usr/include/sys/syslog.h | 0 .../usr/include/sys/sysmacros.h | 0 .../usr/include/sys/termios.h | 0 .../usr/include/sys/time.h | 0 .../usr/include/sys/timeb.h | 0 .../usr/include/sys/timerfd.h | 0 .../usr/include/sys/times.h | 0 .../usr/include/sys/timex.h | 0 .../usr/include/sys/ttychars.h | 0 .../usr/include/sys/ttydefaults.h | 0 .../usr/include/sys/types.h | 0 .../usr/include/sys/ucontext.h | 0 .../usr/include/sys/uio.h | 0 .../usr/include/sys/ultrasound.h | 0 .../usr/include/sys/un.h | 0 .../usr/include/sys/unistd.h | 0 .../usr/include/sys/user.h | 0 .../usr/include/sys/ustat.h | 0 .../usr/include/sys/utsname.h | 0 .../usr/include/sys/vfs.h | 0 .../usr/include/sys/vlimit.h | 0 .../usr/include/sys/vm86.h | 0 .../usr/include/sys/vt.h | 0 .../usr/include/sys/vtimes.h | 0 .../usr/include/sys/wait.h | 0 .../usr/include/sys/xattr.h | 0 .../usr/include/syscall.h | 0 .../usr/include/sysexits.h | 0 .../usr/include/syslog.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/tar.h | 0 .../usr/include/termio.h | 0 .../usr/include/termios.h | 0 .../usr/include/tgmath.h | 0 .../usr/include/thread_db.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/time.h | 0 .../usr/include/ttyent.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/uchar.h | 0 .../usr/include/ucontext.h | 0 .../usr/include/ulimit.h | 0 .../usr/include/unistd.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/ustat.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/utime.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/utmp.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/utmpx.h | 0 .../usr/include/values.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/wait.h | 0 .../gcc5-x86_64-linux-gnu/usr/include/wchar.h | 0 .../usr/include/wctype.h | 0 .../usr/include/wordexp.h | 0 .../usr/include/xlocale.h | 0 src/config.h | 35 +- src/helpers.c | 171 ++-- src/helpers.h | 1 + src/kms.c | 759 ++++++++++-------- src/kms.h | 7 +- src/libkms.c | 29 +- src/libkms.h | 2 +- src/msrpc-client.c | 3 +- src/msrpc-client.h | 3 +- src/network.c | 320 ++++---- src/output.c | 22 +- src/rpc.c | 62 +- src/rpc.h | 3 +- src/shared_globals.c | 15 +- src/shared_globals.h | 23 +- src/types.h | 65 +- .../vlmcs-linux-remote.vcxproj | 86 +- .../vlmcs-linux-remote.vcxproj.filters | 62 +- src/vlmcs.c | 87 +- .../vlmcsd-linux-remote.vcxproj | 76 +- .../vlmcsd-linux-remote.vcxproj.filters | 52 +- src/vlmcsd.c | 169 ++-- src/vlmcsd.h | 2 + src/vlmcsdmulti.c | 2 +- 520 files changed, 1608 insertions(+), 1047 deletions(-) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/byteorder.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/debugreg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/e820.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/errno.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/fcntl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hw_breakpoint.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hyperv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctls.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ipcbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ist.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_para.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_perf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ldt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mce.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mman.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msgbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr-index.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mtrr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/param.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/perf_regs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/poll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_32.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_64.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_x32.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/prctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/processor-flags.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace-abi.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/resource.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sembuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/setup.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/shmbuf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext32.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/siginfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/signal.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/socket.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sockios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/stat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/statfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/svm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/swab.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termbits.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ucontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_32.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_64.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_x32.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vm86.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vmx.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vsyscall.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/assert.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/a.out.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/auxv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap-16.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/cmathcalls.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/confname.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dirent.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dlfcn.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/elfclass.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/endian.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/environments.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/epoll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/errno.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/error.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/eventfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl-linux.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenvinline.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_val.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_valf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_vall.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/hwcap.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/in.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/initspin.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inotify.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctl-types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctls.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipc.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipctypes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libio-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/link.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/local_lim.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/locale.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-finite.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-vector.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathcalls.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathdef.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathinline.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman-linux.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/monetary-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/msq.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/nan.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/netdb.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/param.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix1_lim.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix2_lim.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix_opt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/printf-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/pthreadtypes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/resource.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sched.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sem.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/semaphore.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/shm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigaction.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigcontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/siginfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signalfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signum.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigset.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigstack.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigthread.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sockaddr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket_type.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stab.def (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statvfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio_lim.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-bsearch.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-float.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string3.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stropts.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sys_errlist.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syscall.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sysctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-path.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/termios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/time.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timerfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timex.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/typesizes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/uio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/unistd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ustat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmpx.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utsname.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitflags.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitstatus.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar-ldbl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar2.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wordsize.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xopen_lim.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xtitypes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/byteswap.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/complex.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/cpio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/crypt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ctype.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/dirent.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/dlfcn.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/elf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/endian.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/envz.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/err.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/errno.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/error.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/execinfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fcntl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/features.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fenv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fmtmsg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fnmatch.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fstab.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/fts.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ftw.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/gawkapi.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/gconv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/getopt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/glob.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnu-versions.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnumake.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/grp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/gshadow.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/iconv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ifaddrs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/inttypes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/langinfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/lastlog.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/libgen.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/libintl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/libio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/limits.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/link.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/locale.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/malloc.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/math.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/mcheck.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/memory.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/misc/cxl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/mntent.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/monetary.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/mqueue.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ethernet.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_arp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_packet.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_ppp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_shaper.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_slip.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp-comp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp_defs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/route.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netdb.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ether.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/icmp6.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_ether.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_fddi.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_tr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/igmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in_systm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip6.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip_icmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/tcp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/udp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/nl_types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/nss.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/obstack.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/paths.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/poll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/printf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/routed.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/rwhod.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/talkd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/timed.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/pthread.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/pty.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/pwd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/re_comp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/regex.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/regexp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/resolv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_des.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_unix.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/clnt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/des_crypt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/key_prot.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/netdb.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_clnt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_prot.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_rmt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_des.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_msg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc_auth.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/xdr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sched.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/search.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/semaphore.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/setjmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sgtty.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/shadow.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/signal.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/spawn.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stab.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdc-predef.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdint.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio_ext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdlib.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/string.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/strings.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/stropts.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sudo_plugin.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acct.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/asoundlib.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/auxv.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/bitypes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/capability.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/cdefs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/debugreg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/dir.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/elf.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/epoll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/errno.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/eventfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fanotify.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fcntl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/file.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fsuid.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon_out.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/inotify.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/io.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ioctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ipc.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/kd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/klog.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mman.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mount.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/msg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mtio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/param.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/pci.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/perm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/personality.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/poll.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/prctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/procfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/profil.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ptrace.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/queue.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/quota.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/raw.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reboot.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reg.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/resource.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/select.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sem.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sendfile.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/shm.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signal.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signalfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socket.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socketvar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/soundcard.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statvfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stropts.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/swap.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syscall.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysctl.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysinfo.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syslog.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysmacros.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/termios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/time.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timeb.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timerfd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/times.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timex.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttychars.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttydefaults.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/types.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ucontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/uio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ultrasound.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/un.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/unistd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/user.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ustat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/utsname.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vfs.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vlimit.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vm86.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vt.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vtimes.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/wait.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/xattr.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/syscall.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/sysexits.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/syslog.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/tar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/termio.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/termios.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/tgmath.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/thread_db.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/time.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ttyent.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/uchar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ucontext.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ulimit.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/unistd.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/ustat.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/utime.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmpx.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/values.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/wait.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/wchar.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/wctype.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/wordexp.h (100%) rename {VisualStudio-Linux-Remote => src/VisualStudio-Linux-Remote}/toolchains/gcc5-x86_64-linux-gnu/usr/include/xlocale.h (100%) rename vlmcs-linux-remote.vcxproj => src/vlmcs-linux-remote.vcxproj (75%) rename vlmcs-linux-remote.vcxproj.filters => src/vlmcs-linux-remote.vcxproj.filters (60%) rename vlmcsd-linux-remote.vcxproj => src/vlmcsd-linux-remote.vcxproj (77%) rename vlmcsd-linux-remote.vcxproj.filters => src/vlmcsd-linux-remote.vcxproj.filters (61%) diff --git a/GNUmakefile b/GNUmakefile index b8350ca..673074e 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -189,6 +189,7 @@ help: @echo "Useful CFLAGS to save memory when running $(BASE_PROGRAM_NAME) on very small embedded devices (finer control than FEATURES=)" @echo " -DNO_EXTENDED_PRODUCT_LIST Don't compile the detailed product list." @echo " -DNO_BASIC_PRODUCT_LIST Don't compile the basic product list." + @echo " -DNO_STRICT_MODES Don't support enhanced emulator detection prevention." @echo " -DNO_VERBOSE_LOG Don't support verbose logging. Removes -v option." @echo " -DNO_LOG Don't add support for logging. Implies -DNO_VERBOSE_LOG -DNO_EXTENDED_PRODUCT_LIST and -DNO_BASIC_PRODUCT_LIST." @echo " -DNO_RANDOM_EPID Don't support random ePIDs." @@ -199,6 +200,8 @@ help: @echo " -DNO_CUSTOM_INTERVALS Don't support custom intervals for retry and refresh activation. Removes -A and -R options." @echo " -DNO_FREEBIND Don't support binding to foreign IP addresses. Removes -F0 and -F1 options. Only affects FreeBSD and Linux." @echo " -DNO_SOCKETS Don't support standalone operation. Requires an internet superserver to start $(BASE_PROGRAM_NAME)." + @echo " -DSIMPLE_SOCKETS Don't support listening on explicit IP addresses. Always listens on all IP addresses." + @echo " -DSIMPLE_RPC Don't support RPC with NDR64 and BTFN in $(BASE_PROGRAM_NAME) (but do in $(BASE_CLIENT_NAME)). Makes emulator detection easy." @echo " -DNO_CL_PIDS Don't support specifying ePIDs and HwId from the command line in $(BASE_PROGRAM_NAME)." @echo " -DNO_LIMIT Don't support limiting concurrent clients in $(BASE_PROGRAM_NAME)." @echo " -DNO_SIGHUP Don't support SIGHUP handling in $(BASE_PROGRAM_NAME)." diff --git a/VisualStudio/vlmcs/vlmcs.vcxproj b/VisualStudio/vlmcs/vlmcs.vcxproj index 7a62e37..7c510f0 100644 --- a/VisualStudio/vlmcs/vlmcs.vcxproj +++ b/VisualStudio/vlmcs/vlmcs.vcxproj @@ -177,6 +177,7 @@ false false $(ExternalCompilerOptions) %(AdditionalOptions) + true true diff --git a/VisualStudio/vlmcsd.sln b/VisualStudio/vlmcsd.sln index 4c2ade7..dcce7ec 100755 --- a/VisualStudio/vlmcsd.sln +++ b/VisualStudio/vlmcsd.sln @@ -11,9 +11,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsdmulti-Windows", "vlmc EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libkms-Windows", "libkms\libkms.vcxproj", "{2A0FC04D-C3C0-43E2-8812-53AE901C5395}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsd-gcc5", "..\vlmcsd-linux-remote.vcxproj", "{CC2FBE0B-B9DF-4306-88A1-20706BBD2B0C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcsd-gcc5", "..\src\vlmcsd-linux-remote.vcxproj", "{CC2FBE0B-B9DF-4306-88A1-20706BBD2B0C}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcs-gcc5", "..\vlmcs-linux-remote.vcxproj", "{1ED83566-8AE1-4EE8-9B62-37188A7AC7CA}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlmcs-gcc5", "..\src\vlmcs-linux-remote.vcxproj", "{1ED83566-8AE1-4EE8-9B62-37188A7AC7CA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/etc/vlmcsd.ini b/etc/vlmcsd.ini index cb56f4f..089e005 100644 --- a/etc/vlmcsd.ini +++ b/etc/vlmcsd.ini @@ -82,6 +82,14 @@ # Command line: -v and -q ;LogVerbose = true +# Whitelist known products +# Command line: -K0, -K1, -K2, -K3 +;WhiteListingLevel = 0 + +# Check that the client time is within +/- 4 hours of the system time +# Command Line: -c0, -c1 +;CheckClientTime = false + # Set activation interval to 2 hours # Command line: -A ;ActivationInterval = 2h diff --git a/floppy/floppy144.vfd b/floppy/floppy144.vfd index c5d591b51902b2dc02d5ae62f2dab3edc0ace533..73dd760c2a5c4cf211b18d51b08ea74587419426 100644 GIT binary patch delta 79910 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%0DRZB5xEpII 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
Kjo-Y(z0ZhMl{t?zL<0(v&r*8X+* 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 i5Qu^-9p81E?D!y)Ccp#)hvSfj= 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

To0qUl@5bJ~2p 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 diff --git a/hotbird64-mass-build/make_dragonfly b/hotbird64-mass-build/make_dragonfly index f2e3df7..5ca86e1 100755 --- a/hotbird64-mass-build/make_dragonfly +++ b/hotbird64-mass-build/make_dragonfly @@ -19,7 +19,7 @@ CF45="-static-libgcc -pipe -fno-common -fno-exceptions -fno-stack-protector -fno CFCLANG="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants" LF="-Wl,-z,norelro -Wl,--hash-style=sysv -Wl,--build-id=none" LFCLANG="-Wl,-z,norelro -Wl,--hash-style=sysv" -export CC=gcc5 +export CC=gcc6 gmake $MAKEFLAGS MULTI_NAME=$BINDIR/vlmcsdmulti-DragonFly-x64 PROGRAM_NAME=$BINDIR/vlmcsd-DragonFly-x64 CLIENT_NAME=$BINDIR/vlmcs-DragonFly-x64 CFLAGS="$CF" LDFLAGS="$LF" allmulti diff --git a/man/vlmcs.1 b/man/vlmcs.1 index 7ef8f93..5c81e30 100644 --- a/man/vlmcs.1 +++ b/man/vlmcs.1 @@ -1,5 +1,5 @@ .mso www.tmac -.TH VLMCS 1 "May 2016" "Hotbird64" "KMS Activation Manual" +.TH VLMCS 1 "October 2016" "Hotbird64" "KMS Activation Manual" .LO 1 .SH NAME @@ -76,7 +76,7 @@ to specify applications that are not listed with \fB-x\fR. The option is used as a shortcut for the most common applications. .IP "\fB-K\fR \fIprotocol-version\fR" -Force a specific version of the KMS protocol. Valid versions are 4.0, 5.0 and 6.0. The default is to select a suitable version according to the \fIapplication\fR selected. You may use \fB-K\fR to send an incorrect protocol version to the KMS server and see how it behaves. Genuine KMS servers return HRESULT 0x8007000D if the KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do the same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it sends a v4 request. If the major version is greater then 6, is sends a v6 request. In any case the \fIprotocol-version\fR as specified by \fB-K\fR is put in the version fields of the request. +Force a specific version of the KMS protocol. Valid versions are 4.0, 5.0 and 6.0. The default is to select a suitable version according to the \fIapplication\fR selected. You may use \fB-K\fR to send an incorrect protocol version to the KMS server and see how it behaves. Genuine KMS servers return HRESULT 0x8007000D if the KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do the same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it sends a v4 request. If the major version is greater then 6, it sends a v6 request. In any case the \fIprotocol-version\fR as specified by \fB-K\fR is put in the version fields of the request. .IP "\fB-4\fR, \fB-5\fR and \fB-6" Force version 4, 5 or 6 of the KMS protocol. These options are actually shortcuts of \fB-K 4.0\fR, \fB-K 5.0\fR and \fB-K 6.0\fR. diff --git a/man/vlmcs.1.dos.txt b/man/vlmcs.1.dos.txt index dcd26b6..73874ea 100644 --- a/man/vlmcs.1.dos.txt +++ b/man/vlmcs.1.dos.txt @@ -90,7 +90,7 @@ OPTIONS same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it - sends a v4 request. If the major version is greater then 6, is + sends a v4 request. If the major version is greater then 6, it sends a v6 request. In any case the protocol-version as speci‐ fied by -K is put in the version fields of the request. @@ -323,4 +323,4 @@ SEE ALSO -Hotbird64 May 2016 VLMCS(1) +Hotbird64 October 2016 VLMCS(1) diff --git a/man/vlmcs.1.html b/man/vlmcs.1.html index afe1e6d..85dc558 100644 --- a/man/vlmcs.1.html +++ b/man/vlmcs.1.html @@ -1,5 +1,5 @@ - + @@ -39,7 +39,7 @@ -

vlmcs − a +

vlmcs - a client for testing and/or charging KMS servers

SYNOPSIS @@ -197,7 +197,7 @@ the same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it sends a v4 request. If the major version -is greater then 6, is sends a v6 request. In any case the +is greater then 6, it sends a v6 request. In any case the protocol-version as specified by -K is put in the version fields of the request.

@@ -292,7 +292,7 @@ ExtendedProductList).

Send requests requests to the server. The default is to send at least one request and enough subsequent requests that the server is fully -charged afterwards for the application−guid you +charged afterwards for the application-guid you selected (explicitly with -a or implicitly by using -l).

@@ -384,7 +384,7 @@ what was specified with -r. This option can be used to "overcharge" a Microsoft KMS server.

-

−t status

+

-t status

Reports a specific license status to the KMS server. status is a number that can diff --git a/man/vlmcs.1.pdf b/man/vlmcs.1.pdf index ecf5c4c49a769eaf34db3d17319a133f8d98c7d6..e9515aa6750fa048f3d41cff73e3df2358d394fa 100644 GIT binary patch delta 12606 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 AH~;_u delta 12563 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 diff --git a/man/vlmcs.1.unix.txt b/man/vlmcs.1.unix.txt index c4db060..fc72b13 100644 --- a/man/vlmcs.1.unix.txt +++ b/man/vlmcs.1.unix.txt @@ -90,7 +90,7 @@ OPTIONS same. When sending a request with an incorrect protocol number, vlmcs ignores the minor protocol number (e.g. sends a v4 request for version 4.1). If the major version number is less then 4, it - sends a v4 request. If the major version is greater then 6, is + sends a v4 request. If the major version is greater then 6, it sends a v6 request. In any case the protocol-version as speci‐ fied by -K is put in the version fields of the request. @@ -323,4 +323,4 @@ SEE ALSO -Hotbird64 May 2016 VLMCS(1) +Hotbird64 October 2016 VLMCS(1) diff --git a/man/vlmcsd-floppy.7.html b/man/vlmcsd-floppy.7.html index 417ba44..2324cad 100644 --- a/man/vlmcsd-floppy.7.html +++ b/man/vlmcsd-floppy.7.html @@ -1,5 +1,5 @@ - + @@ -42,9 +42,8 @@

-

floppy144.vfd -− a bootable floppy disk with Linux and -vlmcsd(8)

+

floppy144.vfd - +a bootable floppy disk with Linux and vlmcsd(8)

DESCRIPTION @@ -549,9 +548,9 @@ addresses and all user names and passwords.

Logging into the system
There are 5 local logins provided on /dev/tty2 to /dev/tty6. -To switch to these logins, simply press ALT−F2 to -ALT−F6. To return to the console on /dev/tty1, press -ALT−F1. If inetd(8) is running you can also use +To switch to these logins, simply press ALT-F2 to ALT-F6. To +return to the console on /dev/tty1, press ALT-F1. If +inetd(8) is running you can also use telnet(1). This allows you use a terminal program (e.g. putty) that can utilize your keyboard layout, can be resized and has full UTF-8 support. The local terminals @@ -571,11 +570,11 @@ editor of your choice and transfer them back to the

The menu system
-You’ll find a menu system on /dev/tty8 (press -ALT−F8 to see it). It allows you performing some -administrative tasks and to view various system information. -It is mainly for users that do not have much experience with -Unix commands.
+You’ll find a menu system on /dev/tty8 (press ALT-F8 +to see it). It allows you performing some administrative +tasks and to view various system information. It is mainly +for users that do not have much experience with Unix +commands.
1) (Re)start vlmcsd

Starts or restarts diff --git a/man/vlmcsd-floppy.7.pdf b/man/vlmcsd-floppy.7.pdf index 34d2675a8dda6b409c1340409cdd9397b4bd3184..f4197eb54f874079a9812245467d4483c436db5e 100644 GIT binary patch delta 15388 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

G}J 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 delta 15386 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 Vw1n%OT-@QrVZ^1X>gw;t1ppL!2k8I+ diff --git a/man/vlmcsd.7.html b/man/vlmcsd.7.html index 721af94..dc5b2b1 100644 --- a/man/vlmcsd.7.html +++ b/man/vlmcsd.7.html @@ -1,5 +1,5 @@ - + @@ -35,7 +35,7 @@ -

vlmcsd − a +

vlmcsd - a guide to KMS activation using vlmcsd

SYNOPSIS @@ -169,34 +169,29 @@ inofficial GVLKs that work with consumer-only versions of Windows. Here is a list:

-

TX9XD−98N7V−6WMQ6−BX7FG−H8Q99 +

TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 - Windows 10 Home
-3KHY7−WNT83−DGQKR−F7HPR−844BM - -Windows 10 Home N
-7HNRX−D7KGG−3K4RQ−4WPJ4−YTDFH - -Windows 10 Home Single Language
-PVMJN−6DFY6−9CCP6−7BKTT−D3WVR - -Windows 10 Home Country Specific
-789NJ−TQK6T−6XTH8−J39CJ−J8D3P - -Windows 8.1 Professional with Media Center
-M9Q9P−WNJJT−6PXPY−DWX8H−6XWKK - -Windows 8.1 Core
-7B9N3−D94CG−YTVHR−QBPX3−RJP64 - -Windows 8.1 Core N
-BB6NG−PQ82V−VRDPW−8XVD2−V8P66 - -Windows 8.1 Core Single Language
-NCTT7−2RGK8−WMHRF−RY7YQ−JTXG3 - -Windows 8.1 Core Country Specific
-GNBB8−YVD74−QJHX6−27H4K−8QHDG - -Windows 8 Professional with Media Center
-BN3D2−R7TKB−3YPBD−8DRP2−27GG4 - -Windows 8 Core
-8N2M2−HWPGY−7PGT9−HGDD8−GVGGY - -Windows 8 Core N
-2WN2H−YGCQR−KFX6K−CD6TF−84YXQ - -Windows 8 Core Single Language
-4K36P−JN4VD−GDC6V−KDT89−DYFKP - -Windows 8 Core Country Specific

+3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N
+7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single +Language
+PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country +Specific
+789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional +with Media Center
+M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core
+7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N
+BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single +Language
+NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country +Specific
+GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with +Media Center
+BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core
+8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N
+2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single +Language
+4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country +Specific

The above keys require activation renewal every 45 days (Win 8.1) or 30 @@ -240,9 +235,9 @@ turned out to be non-working, you can use Examples

slmgr /ipk -GCRJD−8NW9H−F2CDX−CCM8D−9D6T9
+GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
cscript -ospp.vbs /inpkey:YC7DK−G2NP3−2QQC3−J6H88−GVGXT

+ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT

Why doesn’t Office accpet a GVLK?
@@ -306,7 +301,7 @@ automatically. This may take a while.
You may type

slmgr /ato
-−or−
+-or-
cscript ospp.vbs /act

at any time to @@ -325,8 +320,8 @@ like this:

Connecting to 127.0.0.1:1688 ... successful
-Sending activation request (KMS V4) 1 of 1 −> -06401−00206−296−206344−03−5179−9600.0000−3432013

+Sending activation request (KMS V4) 1 of 1 -> +06401-00206-296-206344-03-5179-9600.0000-3432013

If anything goes wrong, you’ll see an error message. Next try diff --git a/man/vlmcsd.7.pdf b/man/vlmcsd.7.pdf index 3532e68cdd41cbafc4ab795b8218304bcf9d8423..e78deb44f74d6d62d9e54abde49eb6f6bb6fe738 100644 GIT binary patch delta 6949 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 diff --git a/man/vlmcsd.8 b/man/vlmcsd.8 index 8a7749b..d75cb1b 100644 --- a/man/vlmcsd.8 +++ b/man/vlmcsd.8 @@ -1,5 +1,5 @@ .mso www.tmac -.TH VLMCSD 8 "September 2016" "Hotbird64" "KMS Activation Manual" +.TH VLMCSD 8 "October 2016" "Hotbird64" "KMS Activation Manual" .LO 8 .SH NAME @@ -184,6 +184,25 @@ for a list of valid \fILCID\fRs. Please note that some of them are not recognize Most other KMS emulators use a fixed \fILCID\fR of 1033 (English - US). To achive the same behavior in vlmcsd use \fB-C 1033\fR. +.IP "\fB-K0\fR, \fB-K1\fR, \fB-K2\fR and \fB-K3\fR" +Sets the whitelisting level to determine which products vlmcsd activates or refuses. The default is \fB-K0\fR. + +.RS 12 +\fB-K0\fR: activate all products with an unknown, retail or beta/preview KMS ID. +.br +\fB-K1\fR: activate products with a retail or beta/preview KMS ID but refuse to activate products with an unknown KMS ID. +.br +\fB-K2\fR: activate products with an unknown KMS ID but refuse products with a retail or beta/preview KMS ID. +.br +\fB-K3\fR: activate only products with a known volume license RTM KMS ID and refuse all others. +.RE + +.IP "" +The SKU ID is not checked. Like a genuine KMS server vlmcsd activates a product that has a random or unknown SKU ID. If you select \fB-K1\fR or \fB-K3\fR, vlmcsd also checks the Application ID for correctness. If Microsoft introduces a new KMS ID for a new product, you cannot activate it if you used \fB-K1\fR or \fB-K3\fR until a new version of vlmcsd is available. + +.IP "\fB-c0\fR and \fB-c1\fR" +\fB-c1\fR causes vlmcsd to check if the client time differs no more than four hours from the system time. \fB-c0\fR (the default) disables this check. \fB-c1\fR is useful to prevent emulator detection. A client that tries to detect an emulator could simply send two subsequent request with two time stamps that differ more than four hours from each other. If both requests succeed, the server is an emulator. If you specify \fB-c1\fR on a system with no reliable time source, activations will fail. It is ok to set the correct system time after you started vlmcsd. + .IP "\fB-R\fR \fIrenewal-interval\fR" Instructs clients to renew activation every \fIrenewal-interval\fR. The \fIrenewal-interval\fR is a number optionally immediately followed by a letter indicating the unit. Valid unit letters are s (seconds), m (minutes), h (hours), d (days) and w (weeks). If you do not specify a letter, minutes is assumed. @@ -274,8 +293,6 @@ Installs \fBvlmcsd\fR as a Windows service with low privileges and logs everythi An ePID specified in an ini file must not contain spaces. .SH INTENTIONAL BUGS -vlmcsd activates non-VL (retail) and beta/preview versions of Windows. -.br vlmcsd always reports enough active clients to satisfy the N count policy of the request. .SH AUTHOR diff --git a/man/vlmcsd.8.dos.txt b/man/vlmcsd.8.dos.txt index 02cd578..241624d 100644 --- a/man/vlmcsd.8.dos.txt +++ b/man/vlmcsd.8.dos.txt @@ -415,6 +415,40 @@ OPTIONS US). To achive the same behavior in vlmcsd use -C 1033. + -K0, -K1, -K2 and -K3 + Sets the whitelisting level to determine which products vlmcsd + activates or refuses. The default is -K0. + + -K0: activate all products with an unknown, retail or + beta/preview KMS ID. + -K1: activate products with a retail or beta/preview KMS ID + but refuse to activate products with an unknown KMS ID. + -K2: activate products with an unknown KMS ID but refuse + products with a retail or beta/preview KMS ID. + -K3: activate only products with a known volume license RTM + KMS ID and refuse all others. + + + The SKU ID is not checked. Like a genuine KMS server vlmcsd + activates a product that has a random or unknown SKU ID. If you + select -K1 or -K3, vlmcsd also checks the Application ID for + correctness. If Microsoft introduces a new KMS ID for a new + product, you cannot activate it if you used -K1 or -K3 until a + new version of vlmcsd is available. + + + -c0 and -c1 + -c1 causes vlmcsd to check if the client time differs no more + than four hours from the system time. -c0 (the default) disables + this check. -c1 is useful to prevent emulator detection. A + client that tries to detect an emulator could simply send two + subsequent request with two time stamps that differ more than + four hours from each other. If both requests succeed, the server + is an emulator. If you specify -c1 on a system with no reliable + time source, activations will fail. It is ok to set the correct + system time after you started vlmcsd. + + -R renewal-interval Instructs clients to renew activation every renewal-interval. The renewal-interval is a number optionally immediately followed @@ -592,7 +626,6 @@ BUGS INTENTIONAL BUGS - vlmcsd activates non-VL (retail) and beta/preview versions of Windows. vlmcsd always reports enough active clients to satisfy the N count pol‐ icy of the request. @@ -612,4 +645,4 @@ SEE ALSO -Hotbird64 September 2016 VLMCSD(8) +Hotbird64 October 2016 VLMCSD(8) diff --git a/man/vlmcsd.8.html b/man/vlmcsd.8.html index a427d4f..32b732d 100644 --- a/man/vlmcsd.8.html +++ b/man/vlmcsd.8.html @@ -1,5 +1,5 @@ - + @@ -43,8 +43,8 @@

-

vlmcsd − -a fully Microsoft compatible KMS server

+

vlmcsd - a +fully Microsoft compatible KMS server

SYNOPSIS @@ -619,6 +619,54 @@ them are not recognized by .NET Framework 4.0.

emulators use a fixed LCID of 1033 (English - US). To achive the same behavior in vlmcsd use -C 1033.

+

-K0, -K1, +-K2 and -K3

+ +

Sets the whitelisting level to +determine which products vlmcsd activates or refuses. The +default is -K0.

+ +

-K0: +activate all products with an unknown, retail or +beta/preview KMS ID.
+-K1
: activate products with a retail or beta/preview KMS +ID but refuse to activate products with an unknown KMS ID. +
+-K2
: activate products with an unknown KMS ID but refuse +products with a retail or beta/preview KMS ID.
+-K3
: activate only products with a known volume license +RTM KMS ID and refuse all others.

+ + + + + +
+ + +

The SKU ID is not checked. Like a genuine KMS server +vlmcsd activates a product that has a random or unknown SKU +ID. If you select -K1 or -K3, vlmcsd also +checks the Application ID for correctness. If Microsoft +introduces a new KMS ID for a new product, you cannot +activate it if you used -K1 or -K3 until a new +version of vlmcsd is available.

+ +

-c0 and -c1

+ +

-c1 causes vlmcsd to +check if the client time differs no more than four hours +from the system time. -c0 (the default) disables this +check. -c1 is useful to prevent emulator detection. A +client that tries to detect an emulator could simply send +two subsequent request with two time stamps that differ more +than four hours from each other. If both requests succeed, +the server is an emulator. If you specify -c1 on a +system with no reliable time source, activations will fail. +It is ok to set the correct system time after you started +vlmcsd.

+

-R renewal-interval

@@ -736,8 +784,8 @@ directory.

convenience you can use the special username "/l" as a shortcut for "NT AUTHORITY\LocalService" and "/n" for "NT AUTHORITY\NetworkService". -"vlmcsd −s −U /n" -installs the service to run as "NT +"vlmcsd -s -U /n" installs the +service to run as "NT AUTHORITY\NetworkService".

-W password

@@ -928,11 +976,9 @@ specified in an ini file must not contain spaces.

-

vlmcsd -activates non-VL (retail) and beta/preview versions of -Windows.
-vlmcsd always reports enough active clients to satisfy the N -count policy of the request.

+

vlmcsd always +reports enough active clients to satisfy the N count policy +of the request.

AUTHOR diff --git a/man/vlmcsd.8.pdf b/man/vlmcsd.8.pdf index 58abdf8dac307ae398976a2beac4bda20b5e70d4..e5dc3a6c0c22045517f21e677fbda27f839374aa 100644 GIT binary patch delta 26488 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 delta 25137 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 Bf2aTe diff --git a/man/vlmcsd.8.unix.txt b/man/vlmcsd.8.unix.txt index a25f92b..efc45f3 100644 --- a/man/vlmcsd.8.unix.txt +++ b/man/vlmcsd.8.unix.txt @@ -415,6 +415,40 @@ OPTIONS US). To achive the same behavior in vlmcsd use -C 1033. + -K0, -K1, -K2 and -K3 + Sets the whitelisting level to determine which products vlmcsd + activates or refuses. The default is -K0. + + -K0: activate all products with an unknown, retail or + beta/preview KMS ID. + -K1: activate products with a retail or beta/preview KMS ID + but refuse to activate products with an unknown KMS ID. + -K2: activate products with an unknown KMS ID but refuse + products with a retail or beta/preview KMS ID. + -K3: activate only products with a known volume license RTM + KMS ID and refuse all others. + + + The SKU ID is not checked. Like a genuine KMS server vlmcsd + activates a product that has a random or unknown SKU ID. If you + select -K1 or -K3, vlmcsd also checks the Application ID for + correctness. If Microsoft introduces a new KMS ID for a new + product, you cannot activate it if you used -K1 or -K3 until a + new version of vlmcsd is available. + + + -c0 and -c1 + -c1 causes vlmcsd to check if the client time differs no more + than four hours from the system time. -c0 (the default) disables + this check. -c1 is useful to prevent emulator detection. A + client that tries to detect an emulator could simply send two + subsequent request with two time stamps that differ more than + four hours from each other. If both requests succeed, the server + is an emulator. If you specify -c1 on a system with no reliable + time source, activations will fail. It is ok to set the correct + system time after you started vlmcsd. + + -R renewal-interval Instructs clients to renew activation every renewal-interval. The renewal-interval is a number optionally immediately followed @@ -592,7 +626,6 @@ BUGS INTENTIONAL BUGS - vlmcsd activates non-VL (retail) and beta/preview versions of Windows. vlmcsd always reports enough active clients to satisfy the N count pol‐ icy of the request. @@ -612,4 +645,4 @@ SEE ALSO -Hotbird64 September 2016 VLMCSD(8) +Hotbird64 October 2016 VLMCSD(8) diff --git a/man/vlmcsd.ini.5 b/man/vlmcsd.ini.5 index a6a9da9..b3f3e2d 100644 --- a/man/vlmcsd.ini.5 +++ b/man/vlmcsd.ini.5 @@ -1,4 +1,4 @@ -.TH VLMCSD.INI 5 "September 2016" "Hotbird64" "KMS Activation Manual" +.TH VLMCSD.INI 5 "October 2016" "Hotbird64" "KMS Activation Manual" .LO 8 .SH NAME @@ -99,6 +99,25 @@ Can be TRUE or FALSE. The default is TRUE. If set to FALSE, logging output does .IP "\fBLogVerbose\fR" Set this to either TRUE or FALSE. The default is FALSE. If set to TRUE, more details of each activation will be logged. You use \fB-v\fR and \fB-q\fR in the command line to control this setting. \fBLogVerbose\fR has an effect only if you specify a log file or redirect logging to \fBstdout\fR(3). +.IP "\fBWhitelistingLevel\fR" +Can be 0, 1, 2 or 3. The default is 0. Sets the whitelisting level to determine which products vlmcsd activates or refuses. + +.RS 12 +\fB0\fR: activate all products with an unknown, retail or beta/preview KMS ID. +.br +\fB1\fR: activate products with a retail or beta/preview KMS ID but refuse to activate products with an unknown KMS ID. +.br +\fB2\fR: activate products with an unknown KMS ID but refuse products with a retail or beta/preview KMS ID. +.br +\fB3\fR: activate only products with a known volume license RTM KMS ID and refuse all others. +.RE + +.IP "" +The SKU ID is not checked. Like a genuine KMS server vlmcsd activates a product that has a random or unknown SKU ID. If you select \fB1\fR or \fB3\fR, vlmcsd also checks the Application ID for correctness. If Microsoft introduces a new KMS ID for a new product, you cannot activate it if you used \fB1\fR or \fB3\fR until a new version of vlmcsd is available. + +.IP "\fBCheckClientTime\fR" +Can be TRUE or FALSE. The default is FALSE. If you set this to TRUE \fBvlmcsd\fR(8) checks if the client time differs no more than four hours from the system time. This is useful to prevent emulator detection. A client that tries to detect an emulator could simply send two subsequent request with two time stamps that differ more than four hours from each other. If both requests succeed, the server is an emulator. If you set this to TRUE on a system with no reliable time source, activations will fail. It is ok to set the correct system time after you started \fBvlmcsd\fR(8). + .IP "\fBActivationInterval\fR" This is the same as specifying \fB-A\fR on the command line. See \fBvlmcsd\fR(8) for details. The default is 2 hours. Example: ActivationInterval = 1h diff --git a/man/vlmcsd.ini.5.dos.txt b/man/vlmcsd.ini.5.dos.txt index 5f6f84d..f5b6348 100644 --- a/man/vlmcsd.ini.5.dos.txt +++ b/man/vlmcsd.ini.5.dos.txt @@ -208,88 +208,123 @@ KEYWORDS logging to stdout(3). + WhitelistingLevel + Can be 0, 1, 2 or 3. The default is 0. Sets the whitelisting + level to determine which products vlmcsd activates or refuses. + + 0: activate all products with an unknown, retail or + beta/preview KMS ID. + 1: activate products with a retail or beta/preview KMS ID + but refuse to activate products with an unknown KMS ID. + 2: activate products with an unknown KMS ID but refuse + products with a retail or beta/preview KMS ID. + 3: activate only products with a known volume license RTM + KMS ID and refuse all others. + + + The SKU ID is not checked. Like a genuine KMS server vlmcsd + activates a product that has a random or unknown SKU ID. If you + select 1 or 3, vlmcsd also checks the Application ID for cor‐ + rectness. If Microsoft introduces a new KMS ID for a new prod‐ + uct, you cannot activate it if you used 1 or 3 until a new ver‐ + sion of vlmcsd is available. + + + CheckClientTime + Can be TRUE or FALSE. The default is FALSE. If you set this to + TRUE vlmcsd(8) checks if the client time differs no more than + four hours from the system time. This is useful to prevent emu‐ + lator detection. A client that tries to detect an emulator could + simply send two subsequent request with two time stamps that + differ more than four hours from each other. If both requests + succeed, the server is an emulator. If you set this to TRUE on a + system with no reliable time source, activations will fail. It + is ok to set the correct system time after you started vlm‐ + csd(8). + + ActivationInterval - This is the same as specifying -A on the command line. See vlm‐ + This is the same as specifying -A on the command line. See vlm‐ csd(8) for details. The default is 2 hours. Example: Activation‐ Interval = 1h RenewalInterval - This is the same as specifying -R on the command line. See vlm‐ - csd(8) for details. The default is 7 days. Example: RenewalIn‐ + This is the same as specifying -R on the command line. See vlm‐ + csd(8) for details. The default is 7 days. Example: RenewalIn‐ terval = 3d. Please note that the KMS client decides itself when to renew activation. Even though vlmcsd sends the renewal inter‐ - val you specify, it is no more than some kind of recommendation - to the client. Older KMS clients did follow the recommendation + val you specify, it is no more than some kind of recommendation + to the client. Older KMS clients did follow the recommendation from a KMS server or emulator. Newer clients do not. - User Run vlmcsd as another, preferrably less privileged, user. The - argument can be a user name or a numeric user id. You must have - the required privileges (capabilities on Linux) to change the - security context of a process without providing any credentials - (a password in most cases). On most unixoid OSses 'root' is the + User Run vlmcsd as another, preferrably less privileged, user. The + argument can be a user name or a numeric user id. You must have + the required privileges (capabilities on Linux) to change the + security context of a process without providing any credentials + (a password in most cases). On most unixoid OSses 'root' is the only user who has these privileges in the default configuration. - This setting is not available in the native Windows version of - vlmcsd. See -u in vlmcsd(8). This setting cannot be changed on + This setting is not available in the native Windows version of + vlmcsd. See -u in vlmcsd(8). This setting cannot be changed on the fly by sending SIGHUP to vlmcsd. - Group Run vlmcsd as another, preferrably less privileged, group. The - argument can be a group name or a numeric group id. You must - have the required privileges (capabilities on Linux) to change - the security context of a process without providing any creden‐ - tials (a password in most cases). On most unixoid OSses 'root' + Group Run vlmcsd as another, preferrably less privileged, group. The + argument can be a group name or a numeric group id. You must + have the required privileges (capabilities on Linux) to change + the security context of a process without providing any creden‐ + tials (a password in most cases). On most unixoid OSses 'root' is the only user who has these privileges in the default config‐ - uration. This setting is not available in the native Windows - version of vlmcsd. See -g in vlmcsd(8). This setting cannot be + uration. This setting is not available in the native Windows + version of vlmcsd. See -g in vlmcsd(8). This setting cannot be changed on the fly by sending SIGHUP to vlmcsd. Windows - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for Windows activations. If specified, RandomizationLevel + The argument has the form ePID [ / HwId ]. Always use ePID and + HwId for Windows activations. If specified, RandomizationLevel for Windows activitations will be ignored. Office2010 - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for Office 2010 activations. If specified, Randomization‐ + The argument has the form ePID [ / HwId ]. Always use ePID and + HwId for Office 2010 activations. If specified, Randomization‐ Level for Office 2010 activitations will be ignored. Office2013 - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for Office 2013 activations. If specified, Randomization‐ + The argument has the form ePID [ / HwId ]. Always use ePID and + HwId for Office 2013 activations. If specified, Randomization‐ Level for Office 2013 activitations will be ignored. Office2016 - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for Office 2016 activations. If specified, Randomization‐ + The argument has the form ePID [ / HwId ]. Always use ePID and + HwId for Office 2016 activations. If specified, Randomization‐ Level for Office 2016 activitations will be ignored. VALID EPIDS - The ePID is currently a comment only. You can specify any string up to - 63 bytes. In Windows 7 Microsoft has blacklisted few ( < 10 ) ePIDs - that were used in KMSv5 versions of the "Ratiborus Virtual Machine". - Microsoft has given up on blacklisting when KMS emulators appeared in + The ePID is currently a comment only. You can specify any string up to + 63 bytes. In Windows 7 Microsoft has blacklisted few ( < 10 ) ePIDs + that were used in KMSv5 versions of the "Ratiborus Virtual Machine". + Microsoft has given up on blacklisting when KMS emulators appeared in the wild. Even if you can use "Activated by cool hacker guys" as an ePID, you may wish to use ePIDs that cannot be detected as non-MS ePIDs. If you don't - know how these "valid" ePIDs look like exactly, do not use GUIDS in - vlmcsd.ini. vlmcsd provides internal mechanisms to generate valid + know how these "valid" ePIDs look like exactly, do not use GUIDS in + vlmcsd.ini. vlmcsd provides internal mechanisms to generate valid ePIDs. If you use non-ASCII characters in your ePID (you shouldn't do anyway), - these must be in UTF-8 format. This is especially important when you + these must be in UTF-8 format. This is especially important when you run vlmcsd on Windows or cygwin because UTF-8 is not the default encod‐ ing for most editors. If you are specifying an optional HWID it follows the same syntax as in - the -H option in vlmcsd(8) ecxept that you must not enclose a HWID in + the -H option in vlmcsd(8) ecxept that you must not enclose a HWID in quotes even if it contains spaces. @@ -303,7 +338,7 @@ AUTHOR CREDITS - Thanks to CODYQX4, deagles, eIcn, mikmik38, nosferati87, qad, Rati‐ + Thanks to CODYQX4, deagles, eIcn, mikmik38, nosferati87, qad, Rati‐ borus, ... @@ -312,4 +347,4 @@ SEE ALSO -Hotbird64 September 2016 VLMCSD.INI(5) +Hotbird64 October 2016 VLMCSD.INI(5) diff --git a/man/vlmcsd.ini.5.html b/man/vlmcsd.ini.5.html index 56a6dd4..34c9bcb 100644 --- a/man/vlmcsd.ini.5.html +++ b/man/vlmcsd.ini.5.html @@ -1,5 +1,5 @@ - + @@ -41,7 +41,7 @@

vlmcsd.ini -− vlmcsd KMS emulator configuration file

+- vlmcsd KMS emulator configuration file

SYNOPSIS @@ -267,8 +267,8 @@ randomized. The argument must be a number between 1 and 32767. While any number in that range is valid, you should use an offcial LCID. A list of assigned LCIDs can be found at -http://msdn.microsoft.com/en−us/goglobal/bb964664.aspx. -On the command line you control this setting with option +http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx. On +the command line you control this setting with option -C.

@@ -339,6 +339,53 @@ each activation will be logged. You use -v and LogVerbose has an effect only if you specify a log file or redirect logging to stdout(3).

+

WhitelistingLevel

+ +

Can be 0, 1, 2 or 3. The +default is 0. Sets the whitelisting level to determine which +products vlmcsd activates or refuses.

+ +

0: +activate all products with an unknown, retail or +beta/preview KMS ID.
+1
: activate products with a retail or beta/preview KMS +ID but refuse to activate products with an unknown KMS ID. +
+2
: activate products with an unknown KMS ID but refuse +products with a retail or beta/preview KMS ID.
+3
: activate only products with a known volume license +RTM KMS ID and refuse all others.

+ + + + + +
+ + +

The SKU ID is not checked. Like a genuine KMS server +vlmcsd activates a product that has a random or unknown SKU +ID. If you select 1 or 3, vlmcsd also checks +the Application ID for correctness. If Microsoft introduces +a new KMS ID for a new product, you cannot activate it if +you used 1 or 3 until a new version of vlmcsd +is available.

+ +

CheckClientTime

+ +

Can be TRUE or FALSE. The +default is FALSE. If you set this to TRUE vlmcsd(8) +checks if the client time differs no more than four hours +from the system time. This is useful to prevent emulator +detection. A client that tries to detect an emulator could +simply send two subsequent request with two time stamps that +differ more than four hours from each other. If both +requests succeed, the server is an emulator. If you set this +to TRUE on a system with no reliable time source, +activations will fail. It is ok to set the correct system +time after you started vlmcsd(8).

+

ActivationInterval

This is the same as specifying @@ -465,8 +512,8 @@ UTF-8 is not the default encoding for most editors.

If you are specifying an optional HWID it follows the same syntax as in -the −H option in vlmcsd(8) ecxept that -you must not enclose a HWID in quotes even if it contains +the -H option in vlmcsd(8) ecxept that you +must not enclose a HWID in quotes even if it contains spaces.

FILES diff --git a/man/vlmcsd.ini.5.pdf b/man/vlmcsd.ini.5.pdf index cc766290edf671088f00e6e02fbfefd53bb0dde7..2a11c63d87e47d4ce3cd0a30ce05be3819ad0c06 100644 GIT binary patch delta 13536 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 delta 12361 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 - + @@ -36,8 +36,8 @@

-

vlmcsdmulti -− a multi-call binary containing vlmcs(1) and +

vlmcsdmulti - a +multi-call binary containing vlmcs(1) and vlmcsd(8)

SYNOPSIS diff --git a/man/vlmcsdmulti.1.pdf b/man/vlmcsdmulti.1.pdf index c1b9b77b82cc3877788087ec010b534dd3e1f7c1..777415892e08924893eff2f7978c2ab46d50b198 100644 GIT binary patch delta 67 zcmdnxx65zCR7S>Wo2M~Ku(PmVSh{HPCXO_ABSQmYLvzE)@|-p>_U0r`9vNO^GX)C; R1BD<3E`2xS&DE;=83D*|5~=_I delta 67 zcmdnxx65zCR7S>So2M~Ku(KR`y3}FvCXO_ALqj7&V-wTK@|-p>_U0r`9vNOkGX)C; R1BD<3E`2w{&DE;=83E(Y6DR-x diff --git a/src/GNUmakefile b/src/GNUmakefile index 2b76ec2..dc9bc49 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -62,7 +62,7 @@ DNS_PARSER ?= OS # You should supply your own version string here -VLMCSD_VERSION ?= $(shell test -d .svn && echo svn`svnversion`) +VLMCSD_VERSION ?= $(shell test -d ../.svn && echo svn`svnversion`) FEATURES ?= full VERBOSE ?= NO @@ -251,14 +251,14 @@ else STRIPFLAGS += -s endif -LIBRARY_CFLAGS = -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_BASIC_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT +LIBRARY_CFLAGS = -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_BASIC_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT -UNO_SOCKETS -USIMPLE_RPC ifeq ($(FEATURES), embedded) BASECFLAGS += -DNO_HELP -DNO_USER_SWITCH -DNO_BASIC_PRODUCT_LIST -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_VERBOSE_LOG -DNO_VERSION_INFORMATION else ifeq ($(FEATURES), autostart) BASECFLAGS += -DNO_HELP -DNO_VERSION_INFORMATION else ifeq ($(FEATURES), minimum) - BASECFLAGS += -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_BASIC_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT -DSMALL_AES + BASECFLAGS += -DSIMPLE_RPC -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_BASIC_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT -DSMALL_AES else ifeq ($(FEATURES), most) BASECFLAGS += -DNO_SIGHUP -DNO_PID_FILE -DNO_LIMIT else ifeq ($(FEATURES), inetd) diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/byteorder.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/byteorder.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/byteorder.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/byteorder.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/debugreg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/debugreg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/debugreg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/debugreg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/e820.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/e820.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/e820.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/e820.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/errno.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/errno.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/errno.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/errno.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/fcntl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/fcntl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/fcntl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/fcntl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hw_breakpoint.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hw_breakpoint.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hw_breakpoint.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hw_breakpoint.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hyperv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hyperv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hyperv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/hyperv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctls.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctls.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctls.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ioctls.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ipcbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ipcbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ipcbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ipcbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ist.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ist.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ist.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ist.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_para.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_para.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_para.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_para.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_perf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_perf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_perf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/kvm_perf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ldt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ldt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ldt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ldt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mce.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mce.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mce.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mce.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mman.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mman.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mman.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mman.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msgbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msgbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msgbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msgbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr-index.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr-index.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr-index.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr-index.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/msr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mtrr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mtrr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mtrr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/mtrr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/param.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/param.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/param.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/param.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/perf_regs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/perf_regs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/perf_regs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/perf_regs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/poll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/poll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/poll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/poll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_32.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_32.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_32.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_32.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_64.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_64.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_64.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_64.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_x32.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_x32.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_x32.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/posix_types_x32.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/prctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/prctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/prctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/prctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/processor-flags.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/processor-flags.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/processor-flags.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/processor-flags.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace-abi.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace-abi.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace-abi.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace-abi.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ptrace.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/resource.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/resource.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/resource.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/resource.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sembuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sembuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sembuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sembuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/setup.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/setup.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/setup.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/setup.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/shmbuf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/shmbuf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/shmbuf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/shmbuf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext32.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext32.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext32.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sigcontext32.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/siginfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/siginfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/siginfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/siginfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/signal.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/signal.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/signal.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/signal.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/socket.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/socket.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/socket.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/socket.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sockios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sockios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sockios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/sockios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/stat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/stat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/stat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/stat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/statfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/statfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/statfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/statfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/svm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/svm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/svm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/svm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/swab.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/swab.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/swab.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/swab.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termbits.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termbits.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termbits.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termbits.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/termios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ucontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ucontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ucontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/ucontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_32.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_32.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_32.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_32.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_64.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_64.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_64.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_64.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_x32.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_x32.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_x32.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/unistd_x32.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vm86.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vm86.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vm86.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vm86.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vmx.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vmx.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vmx.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vmx.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vsyscall.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vsyscall.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vsyscall.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/vsyscall.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/assert.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/assert.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/assert.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/assert.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/a.out.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/a.out.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/a.out.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/a.out.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/auxv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/auxv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/auxv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/auxv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap-16.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap-16.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap-16.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap-16.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/byteswap.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/cmathcalls.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/cmathcalls.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/cmathcalls.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/cmathcalls.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/confname.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/confname.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/confname.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/confname.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dirent.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dirent.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dirent.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dirent.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dlfcn.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dlfcn.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dlfcn.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/dlfcn.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/elfclass.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/elfclass.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/elfclass.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/elfclass.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/endian.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/endian.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/endian.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/endian.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/environments.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/environments.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/environments.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/environments.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/epoll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/epoll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/epoll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/epoll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/errno.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/errno.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/errno.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/errno.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/error.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/error.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/error.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/error.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/eventfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/eventfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/eventfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/eventfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl-linux.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl-linux.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl-linux.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl-linux.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fcntl2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenvinline.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenvinline.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenvinline.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/fenvinline.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_val.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_val.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_val.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_val.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_valf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_valf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_valf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_valf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_vall.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_vall.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_vall.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/huge_vall.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/hwcap.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/hwcap.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/hwcap.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/hwcap.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/in.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/in.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/in.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/in.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/initspin.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/initspin.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/initspin.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/initspin.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inotify.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inotify.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inotify.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/inotify.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctl-types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctl-types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctl-types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctl-types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctls.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctls.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctls.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ioctls.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipc.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipc.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipc.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipc.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipctypes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipctypes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipctypes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ipctypes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libio-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libio-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libio-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libio-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/libm-simd-decl-stubs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/link.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/link.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/link.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/link.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/local_lim.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/local_lim.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/local_lim.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/local_lim.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/locale.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/locale.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/locale.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/locale.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-finite.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-finite.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-finite.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-finite.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-vector.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-vector.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-vector.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/math-vector.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathcalls.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathcalls.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathcalls.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathcalls.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathdef.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathdef.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathdef.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathdef.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathinline.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathinline.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathinline.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mathinline.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman-linux.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman-linux.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman-linux.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman-linux.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mman.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/monetary-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/monetary-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/monetary-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/monetary-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/mqueue2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/msq.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/msq.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/msq.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/msq.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/nan.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/nan.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/nan.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/nan.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/netdb.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/netdb.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/netdb.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/netdb.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/param.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/param.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/param.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/param.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/poll2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix1_lim.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix1_lim.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix1_lim.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix1_lim.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix2_lim.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix2_lim.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix2_lim.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix2_lim.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix_opt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix_opt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix_opt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/posix_opt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/printf-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/printf-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/printf-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/printf-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/pthreadtypes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/pthreadtypes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/pthreadtypes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/pthreadtypes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/resource.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/resource.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/resource.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/resource.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sched.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sched.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sched.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sched.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/select2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sem.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sem.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sem.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sem.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/semaphore.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/semaphore.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/semaphore.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/semaphore.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/setjmp2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/shm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/shm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/shm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/shm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigaction.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigaction.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigaction.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigaction.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigcontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigcontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigcontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigcontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/siginfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/siginfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/siginfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/siginfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signalfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signalfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signalfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signalfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signum.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signum.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signum.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/signum.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigset.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigset.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigset.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigset.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigstack.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigstack.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigstack.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigstack.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigthread.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigthread.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigthread.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sigthread.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sockaddr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sockaddr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sockaddr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sockaddr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket_type.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket_type.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket_type.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/socket_type.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stab.def b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stab.def similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stab.def rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stab.def diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statvfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statvfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statvfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/statvfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio_lim.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio_lim.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio_lim.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdio_lim.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-bsearch.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-bsearch.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-bsearch.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-bsearch.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-float.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-float.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-float.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-float.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stdlib.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string3.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string3.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string3.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/string3.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stropts.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stropts.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stropts.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/stropts.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sys_errlist.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sys_errlist.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sys_errlist.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sys_errlist.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syscall.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syscall.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syscall.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syscall.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sysctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sysctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sysctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/sysctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-path.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-path.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-path.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog-path.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/syslog.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/termios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/termios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/termios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/termios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/time.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/time.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/time.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/time.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timerfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timerfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timerfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timerfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timex.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timex.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timex.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/timex.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/typesizes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/typesizes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/typesizes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/typesizes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/uio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/uio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/uio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/uio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/unistd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/unistd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/unistd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/unistd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ustat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ustat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ustat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/ustat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmpx.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmpx.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmpx.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utmpx.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utsname.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utsname.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utsname.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/utsname.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitflags.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitflags.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitflags.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitflags.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitstatus.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitstatus.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitstatus.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/waitstatus.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar-ldbl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar-ldbl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar-ldbl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar-ldbl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar2.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar2.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar2.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wchar2.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wordsize.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wordsize.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wordsize.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/wordsize.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xopen_lim.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xopen_lim.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xopen_lim.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xopen_lim.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xtitypes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xtitypes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xtitypes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/bits/xtitypes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/byteswap.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/byteswap.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/byteswap.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/byteswap.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/complex.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/complex.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/complex.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/complex.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/cpio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/cpio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/cpio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/cpio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/crypt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/crypt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/crypt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/crypt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ctype.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ctype.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ctype.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ctype.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dirent.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dirent.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dirent.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dirent.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dlfcn.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dlfcn.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dlfcn.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/dlfcn.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/elf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/elf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/elf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/elf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/endian.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/endian.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/endian.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/endian.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/envz.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/envz.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/envz.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/envz.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/err.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/err.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/err.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/err.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/errno.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/errno.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/errno.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/errno.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/error.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/error.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/error.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/error.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/execinfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/execinfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/execinfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/execinfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fcntl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fcntl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fcntl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fcntl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/features.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/features.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/features.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/features.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fenv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fenv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fenv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fenv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fmtmsg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fmtmsg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fmtmsg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fmtmsg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fnmatch.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fnmatch.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fnmatch.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fnmatch.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fstab.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fstab.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fstab.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fstab.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fts.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fts.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fts.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/fts.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ftw.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ftw.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ftw.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ftw.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gawkapi.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gawkapi.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gawkapi.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gawkapi.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gconv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gconv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gconv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gconv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/getopt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/getopt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/getopt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/getopt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/glob.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/glob.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/glob.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/glob.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnu-versions.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnu-versions.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnu-versions.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnu-versions.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnumake.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnumake.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnumake.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gnumake.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/grp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/grp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/grp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/grp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gshadow.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gshadow.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gshadow.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/gshadow.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/iconv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/iconv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/iconv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/iconv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ifaddrs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ifaddrs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ifaddrs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ifaddrs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/inttypes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/inttypes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/inttypes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/inttypes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/langinfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/langinfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/langinfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/langinfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/lastlog.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/lastlog.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/lastlog.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/lastlog.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libgen.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libgen.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libgen.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libgen.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libintl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libintl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libintl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libintl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/libio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/limits.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/limits.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/limits.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/limits.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/link.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/link.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/link.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/link.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/locale.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/locale.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/locale.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/locale.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/malloc.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/malloc.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/malloc.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/malloc.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/math.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/math.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/math.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/math.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mcheck.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mcheck.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mcheck.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mcheck.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/memory.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/memory.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/memory.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/memory.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/misc/cxl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/misc/cxl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/misc/cxl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/misc/cxl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mntent.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mntent.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mntent.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mntent.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/monetary.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/monetary.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/monetary.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/monetary.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mqueue.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mqueue.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mqueue.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/mqueue.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ethernet.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ethernet.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ethernet.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ethernet.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_arp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_arp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_arp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_arp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_packet.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_packet.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_packet.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_packet.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_ppp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_ppp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_ppp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_ppp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_shaper.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_shaper.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_shaper.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_shaper.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_slip.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_slip.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_slip.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/if_slip.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp-comp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp-comp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp-comp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp-comp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp_defs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp_defs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp_defs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/ppp_defs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/route.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/route.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/route.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/net/route.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netdb.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netdb.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netdb.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netdb.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ether.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ether.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ether.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ether.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/icmp6.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/icmp6.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/icmp6.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/icmp6.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_ether.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_ether.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_ether.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_ether.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_fddi.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_fddi.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_fddi.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_fddi.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_tr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_tr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_tr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/if_tr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/igmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/igmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/igmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/igmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in_systm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in_systm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in_systm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/in_systm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip6.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip6.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip6.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip6.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip_icmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip_icmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip_icmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/ip_icmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/tcp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/tcp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/tcp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/tcp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/udp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/udp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/udp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/netinet/udp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nl_types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nl_types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nl_types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nl_types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nss.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nss.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nss.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/nss.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/obstack.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/obstack.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/obstack.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/obstack.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/paths.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/paths.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/paths.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/paths.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/poll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/poll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/poll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/poll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/printf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/printf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/printf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/printf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/routed.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/routed.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/routed.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/routed.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/rwhod.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/rwhod.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/rwhod.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/rwhod.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/talkd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/talkd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/talkd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/talkd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/timed.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/timed.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/timed.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/protocols/timed.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pthread.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pthread.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pthread.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pthread.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pty.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pty.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pty.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pty.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pwd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pwd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pwd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/pwd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/re_comp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/re_comp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/re_comp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/re_comp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regex.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regex.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regex.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regex.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regexp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regexp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regexp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/regexp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/resolv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/resolv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/resolv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/resolv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_des.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_des.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_des.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_des.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_unix.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_unix.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_unix.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/auth_unix.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/clnt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/clnt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/clnt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/clnt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/des_crypt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/des_crypt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/des_crypt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/des_crypt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/key_prot.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/key_prot.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/key_prot.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/key_prot.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/netdb.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/netdb.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/netdb.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/netdb.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_clnt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_clnt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_clnt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_clnt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_prot.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_prot.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_prot.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_prot.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_rmt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_rmt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_rmt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/pmap_rmt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_des.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_des.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_des.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_des.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_msg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_msg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_msg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/rpc_msg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc_auth.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc_auth.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc_auth.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/svc_auth.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/xdr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/xdr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/xdr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/rpc/xdr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sched.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sched.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sched.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sched.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/search.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/search.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/search.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/search.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/semaphore.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/semaphore.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/semaphore.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/semaphore.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/setjmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/setjmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/setjmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/setjmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sgtty.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sgtty.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sgtty.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sgtty.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/shadow.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/shadow.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/shadow.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/shadow.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/signal.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/signal.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/signal.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/signal.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/spawn.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/spawn.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/spawn.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/spawn.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stab.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stab.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stab.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stab.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdc-predef.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdc-predef.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdc-predef.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdc-predef.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdint.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdint.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdint.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdint.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio_ext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio_ext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio_ext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdio_ext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdlib.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdlib.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdlib.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stdlib.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/string.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/string.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/string.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/string.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/strings.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/strings.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/strings.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/strings.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stropts.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stropts.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stropts.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/stropts.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sudo_plugin.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sudo_plugin.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sudo_plugin.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sudo_plugin.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acct.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acct.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acct.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acct.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/acl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/asoundlib.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/asoundlib.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/asoundlib.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/asoundlib.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/auxv.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/auxv.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/auxv.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/auxv.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/bitypes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/bitypes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/bitypes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/bitypes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/capability.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/capability.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/capability.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/capability.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/cdefs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/cdefs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/cdefs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/cdefs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/debugreg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/debugreg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/debugreg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/debugreg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/dir.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/dir.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/dir.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/dir.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/elf.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/elf.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/elf.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/elf.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/epoll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/epoll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/epoll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/epoll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/errno.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/errno.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/errno.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/errno.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/eventfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/eventfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/eventfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/eventfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fanotify.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fanotify.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fanotify.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fanotify.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fcntl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fcntl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fcntl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fcntl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/file.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/file.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/file.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/file.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fsuid.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fsuid.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fsuid.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/fsuid.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon_out.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon_out.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon_out.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/gmon_out.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/inotify.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/inotify.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/inotify.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/inotify.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/io.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/io.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/io.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/io.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ioctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ioctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ioctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ioctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ipc.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ipc.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ipc.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ipc.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/kd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/kd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/kd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/kd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/klog.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/klog.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/klog.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/klog.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mman.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mman.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mman.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mman.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mount.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mount.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mount.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mount.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/msg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/msg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/msg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/msg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mtio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mtio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mtio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/mtio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/param.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/param.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/param.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/param.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/pci.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/pci.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/pci.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/pci.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/perm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/perm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/perm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/perm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/personality.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/personality.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/personality.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/personality.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/poll.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/poll.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/poll.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/poll.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/prctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/prctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/prctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/prctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/procfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/procfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/procfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/procfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/profil.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/profil.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/profil.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/profil.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ptrace.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ptrace.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ptrace.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ptrace.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/queue.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/queue.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/queue.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/queue.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/quota.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/quota.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/quota.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/quota.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/raw.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/raw.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/raw.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/raw.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reboot.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reboot.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reboot.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reboot.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reg.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reg.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reg.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/reg.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/resource.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/resource.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/resource.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/resource.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/select.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/select.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/select.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/select.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sem.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sem.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sem.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sem.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sendfile.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sendfile.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sendfile.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sendfile.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/shm.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/shm.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/shm.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/shm.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signal.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signal.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signal.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signal.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signalfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signalfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signalfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/signalfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socket.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socket.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socket.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socket.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socketvar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socketvar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socketvar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/socketvar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/soundcard.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/soundcard.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/soundcard.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/soundcard.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statvfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statvfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statvfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/statvfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stropts.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stropts.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stropts.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/stropts.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/swap.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/swap.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/swap.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/swap.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syscall.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syscall.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syscall.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syscall.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysctl.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysctl.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysctl.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysctl.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysinfo.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysinfo.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysinfo.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysinfo.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syslog.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syslog.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syslog.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/syslog.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysmacros.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysmacros.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysmacros.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/sysmacros.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/termios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/termios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/termios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/termios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/time.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/time.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/time.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/time.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timeb.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timeb.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timeb.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timeb.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timerfd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timerfd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timerfd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timerfd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/times.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/times.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/times.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/times.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timex.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timex.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timex.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/timex.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttychars.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttychars.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttychars.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttychars.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttydefaults.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttydefaults.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttydefaults.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ttydefaults.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/types.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/types.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/types.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/types.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ucontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ucontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ucontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ucontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/uio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/uio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/uio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/uio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ultrasound.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ultrasound.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ultrasound.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ultrasound.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/un.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/un.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/un.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/un.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/unistd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/unistd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/unistd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/unistd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/user.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/user.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/user.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/user.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ustat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ustat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ustat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/ustat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/utsname.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/utsname.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/utsname.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/utsname.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vfs.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vfs.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vfs.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vfs.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vlimit.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vlimit.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vlimit.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vlimit.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vm86.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vm86.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vm86.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vm86.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vt.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vt.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vt.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vt.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vtimes.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vtimes.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vtimes.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/vtimes.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/wait.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/wait.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/wait.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/wait.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/xattr.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/xattr.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/xattr.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sys/xattr.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syscall.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syscall.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syscall.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syscall.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sysexits.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sysexits.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sysexits.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/sysexits.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syslog.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syslog.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syslog.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/syslog.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termio.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termio.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termio.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termio.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termios.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termios.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termios.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/termios.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tgmath.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tgmath.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tgmath.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/tgmath.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/thread_db.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/thread_db.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/thread_db.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/thread_db.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/time.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/time.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/time.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/time.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ttyent.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ttyent.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ttyent.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ttyent.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/uchar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/uchar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/uchar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/uchar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ucontext.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ucontext.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ucontext.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ucontext.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ulimit.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ulimit.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ulimit.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ulimit.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/unistd.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/unistd.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/unistd.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/unistd.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ustat.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ustat.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ustat.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ustat.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utime.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utime.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utime.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utime.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmpx.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmpx.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmpx.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/utmpx.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/values.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/values.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/values.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/values.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wait.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wait.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wait.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wait.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wchar.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wchar.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wchar.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wchar.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wctype.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wctype.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wctype.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wctype.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wordexp.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wordexp.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wordexp.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/wordexp.h diff --git a/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/xlocale.h b/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/xlocale.h similarity index 100% rename from VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/xlocale.h rename to src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/xlocale.h diff --git a/src/config.h b/src/config.h index 24d9aed..73dc113 100644 --- a/src/config.h +++ b/src/config.h @@ -37,19 +37,19 @@ */ #ifndef EPID_WINDOWS -#define EPID_WINDOWS "03612-00206-471-494932-03-1033-14393.0000-2382016" +#define EPID_WINDOWS "03612-00206-471-109239-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2010 -#define EPID_OFFICE2010 "03612-00096-199-954738-03-1033-14393.0000-2382016" +#define EPID_OFFICE2010 "03612-00096-199-390352-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2013 -#define EPID_OFFICE2013 "03612-00206-234-177489-03-1033-14393.0000-2382016" +#define EPID_OFFICE2013 "03612-00206-234-938378-03-1033-14393.0000-2932016" #endif #ifndef EPID_OFFICE2016 -#define EPID_OFFICE2016 "03612-00206-437-728387-03-1033-14393.0000-2382016" +#define EPID_OFFICE2016 "03612-00206-437-305903-03-1033-14393.0000-2932016" #endif #ifndef HWID // HwId from the Ratiborus VM @@ -455,6 +455,20 @@ +#ifndef NO_STRICT_MODES +/* + * Disables the product whitelisting features. Removes -K0, -K1, -K2 and -K3 from vlmcsd + * command line options and WhitelistingLevel from INI file parameters. vlmcsd always behaves + * as if it was started with -K0. + */ + +//#define NO_STRICT_MODES + +#endif // NO_STRICT_MODES + + + + #ifndef NO_RANDOM_EPID /* * Disables the ability to generate random ePIDs. Useful if you managed to grab ePID/HWID from a @@ -619,6 +633,19 @@ +#ifndef SIMPLE_RPC +/* + * Uses a simple version of the RPC protocol which does not support NDR64 and BTFN. + * Supports RPC with the features present in Windows XP and earlier only. Using this creates + * smaller binaries but makes emulator detection easier. + */ + +//#define SIMPLE_RPC +#endif // !SIMPLE_RPC + + + + #ifndef SIMPLE_SOCKETS /* * Disables the ability to choose IP addresses using the -L option in vlmcsd. vlmcsd will listen on all IP addresses. diff --git a/src/helpers.c b/src/helpers.c index 9c85025..b702e03 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -29,85 +29,85 @@ -/* - * UCS2 <-> UTF-8 functions - * All functions use little endian UCS2 since we only need it to communicate with Windows via RPC - */ + /* + * UCS2 <-> UTF-8 functions + * All functions use little endian UCS2 since we only need it to communicate with Windows via RPC + */ -// Convert one character from UTF-8 to UCS2 -// Returns 0xffff, if utf-8 evaluates to > 0xfffe (outside basic multilingual pane) -WCHAR utf8_to_ucs2_char (const unsigned char *input, const unsigned char **end_ptr) + // Convert one character from UTF-8 to UCS2 + // Returns 0xffff, if utf-8 evaluates to > 0xfffe (outside basic multilingual pane) +WCHAR utf8_to_ucs2_char(const unsigned char *input, const unsigned char **end_ptr) { - *end_ptr = input; - if (input[0] == 0) - return ~0; + *end_ptr = input; + if (input[0] == 0) + return ~0; - if (input[0] < 0x80) { - *end_ptr = input + 1; - return LE16(input[0]); - } + if (input[0] < 0x80) { + *end_ptr = input + 1; + return LE16(input[0]); + } - if ((input[0] & 0xE0) == 0xE0) { + if ((input[0] & 0xE0) == 0xE0) { - if (input[1] == 0 || input[2] == 0) - return ~0; + if (input[1] == 0 || input[2] == 0) + return ~0; - *end_ptr = input + 3; + *end_ptr = input + 3; - return - LE16((input[0] & 0x0F)<<12 | - (input[1] & 0x3F)<<6 | - (input[2] & 0x3F)); - } + return + LE16((input[0] & 0x0F) << 12 | + (input[1] & 0x3F) << 6 | + (input[2] & 0x3F)); + } - if ((input[0] & 0xC0) == 0xC0) { - if (input[1] == 0) - return ~0; + if ((input[0] & 0xC0) == 0xC0) { + if (input[1] == 0) + return ~0; - *end_ptr = input + 2; + *end_ptr = input + 2; - return - LE16((input[0] & 0x1F)<<6 | - (input[1] & 0x3F)); - } - return ~0; + return + LE16((input[0] & 0x1F) << 6 | + (input[1] & 0x3F)); + } + return ~0; } // Convert one character from UCS2 to UTF-8 // Returns length of UTF-8 char (1, 2 or 3) or -1 on error (UTF-16 outside UCS2) // char *utf8 must be large enough to hold 3 bytes -int ucs2_to_utf8_char (const WCHAR ucs2_le, char *utf8) +int ucs2_to_utf8_char(const WCHAR ucs2_le, char *utf8) { - const WCHAR ucs2 = LE16(ucs2_le); + const WCHAR ucs2 = LE16(ucs2_le); - if (ucs2 < 0x80) { - utf8[0] = (char)ucs2; - utf8[1] = '\0'; - return 1; - } + if (ucs2 < 0x80) { + utf8[0] = (char)ucs2; + utf8[1] = '\0'; + return 1; + } - if (ucs2 >= 0x80 && ucs2 < 0x800) { - utf8[0] = (ucs2 >> 6) | 0xC0; - utf8[1] = (ucs2 & 0x3F) | 0x80; - utf8[2] = '\0'; - return 2; - } + if (ucs2 >= 0x80 && ucs2 < 0x800) { + utf8[0] = (ucs2 >> 6) | 0xC0; + utf8[1] = (ucs2 & 0x3F) | 0x80; + utf8[2] = '\0'; + return 2; + } - if (ucs2 >= 0x800 && ucs2 < 0xFFFF) { + if (ucs2 >= 0x800 && ucs2 < 0xFFFF) { - if (ucs2 >= 0xD800 && ucs2 <= 0xDFFF) { - /* Ill-formed (UTF-16 ouside of BMP) */ - return -1; - } + if (ucs2 >= 0xD800 && ucs2 <= 0xDFFF) { + /* Ill-formed (UTF-16 ouside of BMP) */ + return -1; + } - utf8[0] = ((ucs2 >> 12) ) | 0xE0; - utf8[1] = ((ucs2 >> 6 ) & 0x3F) | 0x80; - utf8[2] = ((ucs2 ) & 0x3F) | 0x80; - utf8[3] = '\0'; - return 3; - } + utf8[0] = ((ucs2 >> 12)) | 0xE0; + utf8[1] = ((ucs2 >> 6) & 0x3F) | 0x80; + utf8[2] = ((ucs2) & 0x3F) | 0x80; + utf8[3] = '\0'; + return 3; + } - return -1; + return -1; } @@ -141,13 +141,13 @@ BOOL ucs2_to_utf8(const WCHAR* const ucs2_le, char* utf8, size_t maxucs2, size_t const WCHAR* current_ucs2 = ucs2_le; unsigned int index_utf8 = 0; - for(*utf8 = 0; *current_ucs2; current_ucs2++) + for (*utf8 = 0; *current_ucs2; current_ucs2++) { if (current_ucs2 - ucs2_le > (intptr_t)maxucs2) return FALSE; int len = ucs2_to_utf8_char(*current_ucs2, utf8_char); if (index_utf8 + len > maxutf8) return FALSE; strncat(utf8, utf8_char, len); - index_utf8+=len; + index_utf8 += len; } return TRUE; @@ -164,7 +164,7 @@ BOOL stringToInt(const char *const szValue, const unsigned int min, const unsign errno = 0; long long result = vlmcsd_strtoll(szValue, &nextchar, 10); - if (errno || result < (long long)min || result > (long long)max || *nextchar) + if (errno || result < (long long)min || result >(long long)max || *nextchar) { return FALSE; } @@ -200,9 +200,9 @@ int_fast8_t string2Uuid(const char *const restrict input, GUID *const restrict g hex2bin((BYTE*)&guid->Data3, inputCopy + 14, 4); hex2bin(guid->Data4, input + 19, 16); - guid->Data1 = BE32(guid->Data1); - guid->Data2 = BE16(guid->Data2); - guid->Data3 = BE16(guid->Data3); + guid->Data1 = BE32(guid->Data1); + guid->Data2 = BE16(guid->Data2); + guid->Data3 = BE16(guid->Data3); return TRUE; } @@ -210,14 +210,25 @@ int_fast8_t string2Uuid(const char *const restrict input, GUID *const restrict g // convert GUID to little-endian void LEGUID(GUID *const restrict out, const GUID* const restrict in) { - #if __BYTE_ORDER != __LITTLE_ENDIAN +# if __BYTE_ORDER != __LITTLE_ENDIAN out->Data1 = LE32(in->Data1); out->Data2 = LE16(in->Data2); out->Data3 = LE16(in->Data3); memcpy(out->Data4, in->Data4, sizeof(out->Data4)); - #else +# else memcpy(out, in, sizeof(GUID)); - #endif +# endif +} + +__pure int IsEqualGuidLE(const GUID *const restrict first, const GUID *const restrict second) +{ +# if __BYTE_ORDER != __LITTLE_ENDIAN + GUID guid; + LEGUID(&guid, first); + return IsEqualGUID(&guid, second); +# else + return IsEqualGUID(first, second); +# endif } #if !IS_LIBRARY @@ -229,7 +240,7 @@ __pure unsigned int getOptionArgumentInt(const char o, const unsigned int min, c if (!stringToInt(optarg, min, max, &result)) { printerrorf("Fatal: Option \"-%c\" must be numeric between %u and %u.\n", o, min, max); - exit(!0); + exit(VLMCSD_EINVAL); } return result; @@ -238,16 +249,16 @@ __pure unsigned int getOptionArgumentInt(const char o, const unsigned int min, c // Resets getopt() to start parsing from the beginning void optReset(void) { - #if __minix__ || defined(__BSD__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) +#if __minix__ || defined(__BSD__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) optind = 1; optreset = 1; // Makes newer BSD getopt happy - #elif defined(__UCLIBC__) // uClibc headers also define __GLIBC__ so be careful here +#elif defined(__UCLIBC__) // uClibc headers also define __GLIBC__ so be careful here optind = 0; // uClibc seeks compatibility with GLIBC - #elif defined(__GLIBC__) +#elif defined(__GLIBC__) optind = 0; // Makes GLIBC getopt happy - #else // Standard for most systems +#else // Standard for most systems optind = 1; - #endif +#endif } #endif // !IS_LIBRARY @@ -256,7 +267,7 @@ void optReset(void) // Returns a static message buffer containing text for a given Win32 error. Not thread safe (same as strerror) char* win_strerror(const int message) { - #define STRERROR_BUFFER_SIZE 256 +#define STRERROR_BUFFER_SIZE 256 static char buffer[STRERROR_BUFFER_SIZE]; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, message, 0, buffer, STRERROR_BUFFER_SIZE, NULL); @@ -317,7 +328,7 @@ void randomNumberInit() __noreturn void OutOfMemory(void) { errorout("Fatal: Out of memory"); - exit(!0); + exit(VLMCSD_ENOMEM); } @@ -360,17 +371,17 @@ __pure BOOL getArgumentBool(int_fast8_t *result, const char *const argument) !strncasecmp(argument, "on", 2) || !strncasecmp(argument, "yes", 3) || !strncasecmp(argument, "1", 1) - ) + ) { *result = TRUE; return TRUE; } else if ( - !strncasecmp(argument, "false", 5) || - !strncasecmp(argument, "off", 3) || - !strncasecmp(argument, "no", 2) || - !strncasecmp(argument, "0", 1) - ) + !strncasecmp(argument, "false", 5) || + !strncasecmp(argument, "off", 3) || + !strncasecmp(argument, "no", 2) || + !strncasecmp(argument, "0", 1) + ) { *result = FALSE; return TRUE; diff --git a/src/helpers.h b/src/helpers.h index 2a7460e..af5a53a 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -29,6 +29,7 @@ __noreturn void OutOfMemory(void); void* vlmcsd_malloc(size_t len); void hex2bin(BYTE *const bin, const char *hex, const size_t maxbin); __pure BOOL getArgumentBool(int_fast8_t *result, const char *const argument); +__pure int IsEqualGuidLE(const GUID *const restrict first, const GUID *const restrict second); #endif // HELPERS_H diff --git a/src/kms.c b/src/kms.c index 77363f2..5a499b9 100644 --- a/src/kms.c +++ b/src/kms.c @@ -63,265 +63,270 @@ const KmsIdList ProductList[] = { /* 022 */ { { 0x6e9fc069, 0x257d, 0x4bc4, { 0xb4, 0xa7, 0x75, 0x05, 0x14, 0xd3, 0x27, 0x43, } } /*6e9fc069-257d-4bc4-b4a7-750514d32743*/, LOGTEXT("Windows Server 2016"), EPID_WINDOWS, 6, 5 }, /* 023 */ { { 0x969fe3c0, 0xa3ec, 0x491a, { 0x9f, 0x25, 0x42, 0x36, 0x05, 0xde, 0xb3, 0x65, } } /*969fe3c0-a3ec-491a-9f25-423605deb365*/, LOGTEXT("Windows 10 2016 (Volume)"), EPID_WINDOWS, 6, 25 }, # endif // NO_BASIC_PRODUCT_LIST - /* 024 */ { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } }, NULL, NULL, 0, 0 } }; -#ifndef NO_LOG +#ifndef NO_STRICT_MODES +const ProdListIndex_t RetailAndBetaProducts[] = { KMS_ID_WIN10_RETAIL, KMS_ID_WIN81_RETAIL, KMS_ID_WIN8_RETAIL, KMS_ID_WIN_BETA, KMS_ID_WIN_SRV_BETA, KMS_ID_OFFICE2013_BETA }; +#endif // !NO_STRICT_MODES + + +#if !defined(NO_LOG) || !defined(NO_STRICT_MODES) // Application ID is used by KMS server to count KeyManagementServiceCurrentCount // Do not change the order of this list. Append items as necessary const KmsIdList AppList[] = { /* 000 */ { { 0x55c92734, 0xd682, 0x4d71, { 0x98, 0x3e, 0xd6, 0xec, 0x3f, 0x16, 0x05, 0x9f } } /*"55C92734-D682-4D71-983E-D6EC3F16059F"*/, LOGTEXT(FRIENDLY_NAME_WINDOWS), EPID_WINDOWS, 0, 0}, /* 001 */ { { 0x59A52881, 0xa989, 0x479d, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"59A52881-A989-479D-AF46-F275C6370663"*/, LOGTEXT(FRIENDLY_NAME_OFFICE2010), EPID_OFFICE2010, 0, 0}, /* 002 */ { { 0x0FF1CE15, 0xA989, 0x479D, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"0FF1CE15-A989-479D-AF46-F275C6370663"*/, LOGTEXT(FRIENDLY_NAME_OFFICE2013), EPID_OFFICE2013, 0, 0}, - /* 003 */ { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, NULL, NULL, 0, 0 } }; -#endif // NO_LOG +#endif // !defined(NO_LOG) || !defined(NO_STRICT_MODES) #ifndef NO_EXTENDED_PRODUCT_LIST -const KmsIdList ExtendedProductList [] = { - // Windows 10 (Retail) - { { 0x58e97c99, 0xf377, 0x4ef1, { 0x81, 0xd5, 0x4a, 0xd5, 0x52, 0x2b, 0x5f, 0xd8, } } /*58e97c99-f377-4ef1-81d5-4ad5522b5fd8*/, LOGTEXT("Windows 10 Home"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0xa9107544, 0xf4a0, 0x4053, { 0xa9, 0x6a, 0x14, 0x79, 0xab, 0xde, 0xf9, 0x12, } } /*a9107544-f4a0-4053-a96a-1479abdef912*/, LOGTEXT("Windows 10 Home Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0x7b9e1751, 0xa8da, 0x4f75, { 0x95, 0x60, 0x5f, 0xad, 0xfe, 0x3d, 0x8e, 0x38, } } /*7b9e1751-a8da-4f75-9560-5fadfe3d8e38*/, LOGTEXT("Windows 10 Home N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0xcd918a57, 0xa41b, 0x4c82, { 0x8d, 0xce, 0x1a, 0x53, 0x8e, 0x22, 0x1a, 0x83, } } /*cd918a57-a41b-4c82-8dce-1a538e221a83*/, LOGTEXT("Windows 10 Home Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, +const KmsIdList ExtendedProductList[] = { + // Windows 10 (Retail) + { { 0x58e97c99, 0xf377, 0x4ef1, { 0x81, 0xd5, 0x4a, 0xd5, 0x52, 0x2b, 0x5f, 0xd8, } } /*58e97c99-f377-4ef1-81d5-4ad5522b5fd8*/, LOGTEXT("Windows 10 Home"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0xa9107544, 0xf4a0, 0x4053, { 0xa9, 0x6a, 0x14, 0x79, 0xab, 0xde, 0xf9, 0x12, } } /*a9107544-f4a0-4053-a96a-1479abdef912*/, LOGTEXT("Windows 10 Home Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0x7b9e1751, 0xa8da, 0x4f75, { 0x95, 0x60, 0x5f, 0xad, 0xfe, 0x3d, 0x8e, 0x38, } } /*7b9e1751-a8da-4f75-9560-5fadfe3d8e38*/, LOGTEXT("Windows 10 Home N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0xcd918a57, 0xa41b, 0x4c82, { 0x8d, 0xce, 0x1a, 0x53, 0x8e, 0x22, 0x1a, 0x83, } } /*cd918a57-a41b-4c82-8dce-1a538e221a83*/, LOGTEXT("Windows 10 Home Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - // Windows 10 2015 (Volume) - { { 0xe0c42288, 0x980c, 0x4788, { 0xa0, 0x14, 0xc0, 0x80, 0xd2, 0xe1, 0x92, 0x6e, } } /*e0c42288-980c-4788-a014-c080d2e1926e*/, LOGTEXT("Windows 10 Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x3c102355, 0xd027, 0x42c6, { 0xad, 0x23, 0x2e, 0x7e, 0xf8, 0xa0, 0x25, 0x85, } } /*3c102355-d027-42c6-ad23-2e7ef8a02585*/, LOGTEXT("Windows 10 Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x73111121, 0x5638, 0x40f6, { 0xbc, 0x11, 0xf1, 0xd7, 0xb0, 0xd6, 0x43, 0x00, } } /*73111121-5638-40f6-bc11-f1d7b0d64300*/, LOGTEXT("Windows 10 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x7b51a46c, 0x0c04, 0x4e8f, { 0x9a, 0xf4, 0x84, 0x96, 0xcc, 0xa9, 0x0d, 0x5e, } } /*7b51a46c-0c04-4e8f-9af4-8496cca90d5e*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x87b838b7, 0x41b6, 0x4590, { 0x83, 0x18, 0x57, 0x97, 0x95, 0x1d, 0x85, 0x29, } } /*87b838b7-41b6-4590-8318-5797951d8529*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xe272e3e2, 0x732f, 0x4c65, { 0xa8, 0xf0, 0x48, 0x47, 0x47, 0xd0, 0xd9, 0x47, } } /*e272e3e2-732f-4c65-a8f0-484747d0d947*/, LOGTEXT("Windows 10 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x43f2ab05, 0x7c87, 0x4d56, { 0xb2, 0x7c, 0x44, 0xd0, 0xf9, 0xa3, 0xda, 0xbd, } } /*43f2ab05-7c87-4d56-b27c-44d0f9a3dabd*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x2de67392, 0xb7a7, 0x462a, { 0xb1, 0xca, 0x10, 0x8d, 0xd1, 0x89, 0xf5, 0x88, } } /*2de67392-b7a7-462a-b1ca-108dd189f588*/, LOGTEXT("Windows 10 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x3f1afc82, 0xf8ac, 0x4f6c, { 0x80, 0x05, 0x1d, 0x23, 0x3e, 0x60, 0x6e, 0xee, } } /*3f1afc82-f8ac-4f6c-8005-1d233e606eee*/, LOGTEXT("Windows 10 Professional Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x5300b18c, 0x2e33, 0x4dc2, { 0x82, 0x91, 0x47, 0xff, 0xce, 0xc7, 0x46, 0xdd, } } /*5300b18c-2e33-4dc2-8291-47ffcec746dd*/, LOGTEXT("Windows 10 Professional Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xa80b5abf, 0x76ad, 0x428b, { 0xb0, 0x5d, 0xa4, 0x7d, 0x2d, 0xff, 0xee, 0xbf, } } /*a80b5abf-76ad-428b-b05d-a47d2dffeebf*/, LOGTEXT("Windows 10 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xff808201, 0xfec6, 0x4fd4, { 0xae, 0x16, 0xab, 0xbd, 0xda, 0xde, 0x57, 0x06, } } /*ff808201-fec6-4fd4-ae16-abbddade5706*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + // Windows 10 2015 (Volume) + { { 0xe0c42288, 0x980c, 0x4788, { 0xa0, 0x14, 0xc0, 0x80, 0xd2, 0xe1, 0x92, 0x6e, } } /*e0c42288-980c-4788-a014-c080d2e1926e*/, LOGTEXT("Windows 10 Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x3c102355, 0xd027, 0x42c6, { 0xad, 0x23, 0x2e, 0x7e, 0xf8, 0xa0, 0x25, 0x85, } } /*3c102355-d027-42c6-ad23-2e7ef8a02585*/, LOGTEXT("Windows 10 Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x73111121, 0x5638, 0x40f6, { 0xbc, 0x11, 0xf1, 0xd7, 0xb0, 0xd6, 0x43, 0x00, } } /*73111121-5638-40f6-bc11-f1d7b0d64300*/, LOGTEXT("Windows 10 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x7b51a46c, 0x0c04, 0x4e8f, { 0x9a, 0xf4, 0x84, 0x96, 0xcc, 0xa9, 0x0d, 0x5e, } } /*7b51a46c-0c04-4e8f-9af4-8496cca90d5e*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x87b838b7, 0x41b6, 0x4590, { 0x83, 0x18, 0x57, 0x97, 0x95, 0x1d, 0x85, 0x29, } } /*87b838b7-41b6-4590-8318-5797951d8529*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xe272e3e2, 0x732f, 0x4c65, { 0xa8, 0xf0, 0x48, 0x47, 0x47, 0xd0, 0xd9, 0x47, } } /*e272e3e2-732f-4c65-a8f0-484747d0d947*/, LOGTEXT("Windows 10 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x43f2ab05, 0x7c87, 0x4d56, { 0xb2, 0x7c, 0x44, 0xd0, 0xf9, 0xa3, 0xda, 0xbd, } } /*43f2ab05-7c87-4d56-b27c-44d0f9a3dabd*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x2de67392, 0xb7a7, 0x462a, { 0xb1, 0xca, 0x10, 0x8d, 0xd1, 0x89, 0xf5, 0x88, } } /*2de67392-b7a7-462a-b1ca-108dd189f588*/, LOGTEXT("Windows 10 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x3f1afc82, 0xf8ac, 0x4f6c, { 0x80, 0x05, 0x1d, 0x23, 0x3e, 0x60, 0x6e, 0xee, } } /*3f1afc82-f8ac-4f6c-8005-1d233e606eee*/, LOGTEXT("Windows 10 Professional Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x5300b18c, 0x2e33, 0x4dc2, { 0x82, 0x91, 0x47, 0xff, 0xce, 0xc7, 0x46, 0xdd, } } /*5300b18c-2e33-4dc2-8291-47ffcec746dd*/, LOGTEXT("Windows 10 Professional Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xa80b5abf, 0x76ad, 0x428b, { 0xb0, 0x5d, 0xa4, 0x7d, 0x2d, 0xff, 0xee, 0xbf, } } /*a80b5abf-76ad-428b-b05d-a47d2dffeebf*/, LOGTEXT("Windows 10 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xff808201, 0xfec6, 0x4fd4, { 0xae, 0x16, 0xab, 0xbd, 0xda, 0xde, 0x57, 0x06, } } /*ff808201-fec6-4fd4-ae16-abbddade5706*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - // Windows 10 2016 (Volume) - { { 0x2d5a5a60, 0x3040, 0x48bf, { 0xbe, 0xb0, 0xfc, 0xd7, 0x70, 0xc2, 0x0c, 0xe0, } } /*2d5a5a60-3040-48bf-beb0-fcd770c20ce0*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, - { { 0x9f776d83, 0x7156, 0x45b2, { 0x8a, 0x5c, 0x35, 0x9b, 0x9c, 0x9f, 0x22, 0xa3, } } /*9f776d83-7156-45b2-8a5c-359b9c9f22a3*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, + // Windows 10 2016 (Volume) + { { 0x2d5a5a60, 0x3040, 0x48bf, { 0xbe, 0xb0, 0xfc, 0xd7, 0x70, 0xc2, 0x0c, 0xe0, } } /*2d5a5a60-3040-48bf-beb0-fcd770c20ce0*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, + { { 0x9f776d83, 0x7156, 0x45b2, { 0x8a, 0x5c, 0x35, 0x9b, 0x9c, 0x9f, 0x22, 0xa3, } } /*9f776d83-7156-45b2-8a5c-359b9c9f22a3*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, - // Windows 10 Unknown (Volume) + // Windows 10 Unknown (Volume) - // Windows 7 - { { 0xdb537896, 0x376f, 0x48ae, { 0xa4, 0x92, 0x53, 0xd0, 0x54, 0x77, 0x73, 0xd0, } } /*db537896-376f-48ae-a492-53d0547773d0*/, LOGTEXT("Windows 7 Embedded POSReady"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xe1a8296a, 0xdb37, 0x44d1, { 0x8c, 0xce, 0x7b, 0xc9, 0x61, 0xd5, 0x9c, 0x54, } } /*e1a8296a-db37-44d1-8cce-7bc961d59c54*/, LOGTEXT("Windows 7 Embedded Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xae2ee509, 0x1b34, 0x41c0, { 0xac, 0xb7, 0x6d, 0x46, 0x50, 0x16, 0x89, 0x15, } } /*ae2ee509-1b34-41c0-acb7-6d4650168915*/, LOGTEXT("Windows 7 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x46bbed08, 0x9c7b, 0x48fc, { 0xa6, 0x14, 0x95, 0x25, 0x05, 0x73, 0xf4, 0xea, } } /*46bbed08-9c7b-48fc-a614-95250573f4ea*/, LOGTEXT("Windows 7 Enterprise E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x1cb6d605, 0x11b3, 0x4e14, { 0xbb, 0x30, 0xda, 0x91, 0xc8, 0xe3, 0x98, 0x3a, } } /*1cb6d605-11b3-4e14-bb30-da91c8e3983a*/, LOGTEXT("Windows 7 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xb92e9980, 0xb9d5, 0x4821, { 0x9c, 0x94, 0x14, 0x0f, 0x63, 0x2f, 0x63, 0x12, } } /*b92e9980-b9d5-4821-9c94-140f632f6312*/, LOGTEXT("Windows 7 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x5a041529, 0xfef8, 0x4d07, { 0xb0, 0x6f, 0xb5, 0x9b, 0x57, 0x3b, 0x32, 0xd2, } } /*5a041529-fef8-4d07-b06f-b59b573b32d2*/, LOGTEXT("Windows 7 Professional E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x54a09a0d, 0xd57b, 0x4c10, { 0x8b, 0x69, 0xa8, 0x42, 0xd6, 0x59, 0x0a, 0xd5, } } /*54a09a0d-d57b-4c10-8b69-a842d6590ad5*/, LOGTEXT("Windows 7 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xaa6dd3aa, 0xc2b4, 0x40e2, { 0xa5, 0x44, 0xa6, 0xbb, 0xb3, 0xf5, 0xc3, 0x95, } } /*aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395*/, LOGTEXT("Windows 7 ThinPC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + // Windows 7 + { { 0xdb537896, 0x376f, 0x48ae, { 0xa4, 0x92, 0x53, 0xd0, 0x54, 0x77, 0x73, 0xd0, } } /*db537896-376f-48ae-a492-53d0547773d0*/, LOGTEXT("Windows 7 Embedded POSReady"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xe1a8296a, 0xdb37, 0x44d1, { 0x8c, 0xce, 0x7b, 0xc9, 0x61, 0xd5, 0x9c, 0x54, } } /*e1a8296a-db37-44d1-8cce-7bc961d59c54*/, LOGTEXT("Windows 7 Embedded Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xae2ee509, 0x1b34, 0x41c0, { 0xac, 0xb7, 0x6d, 0x46, 0x50, 0x16, 0x89, 0x15, } } /*ae2ee509-1b34-41c0-acb7-6d4650168915*/, LOGTEXT("Windows 7 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x46bbed08, 0x9c7b, 0x48fc, { 0xa6, 0x14, 0x95, 0x25, 0x05, 0x73, 0xf4, 0xea, } } /*46bbed08-9c7b-48fc-a614-95250573f4ea*/, LOGTEXT("Windows 7 Enterprise E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x1cb6d605, 0x11b3, 0x4e14, { 0xbb, 0x30, 0xda, 0x91, 0xc8, 0xe3, 0x98, 0x3a, } } /*1cb6d605-11b3-4e14-bb30-da91c8e3983a*/, LOGTEXT("Windows 7 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xb92e9980, 0xb9d5, 0x4821, { 0x9c, 0x94, 0x14, 0x0f, 0x63, 0x2f, 0x63, 0x12, } } /*b92e9980-b9d5-4821-9c94-140f632f6312*/, LOGTEXT("Windows 7 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x5a041529, 0xfef8, 0x4d07, { 0xb0, 0x6f, 0xb5, 0x9b, 0x57, 0x3b, 0x32, 0xd2, } } /*5a041529-fef8-4d07-b06f-b59b573b32d2*/, LOGTEXT("Windows 7 Professional E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x54a09a0d, 0xd57b, 0x4c10, { 0x8b, 0x69, 0xa8, 0x42, 0xd6, 0x59, 0x0a, 0xd5, } } /*54a09a0d-d57b-4c10-8b69-a842d6590ad5*/, LOGTEXT("Windows 7 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xaa6dd3aa, 0xc2b4, 0x40e2, { 0xa5, 0x44, 0xa6, 0xbb, 0xb3, 0xf5, 0xc3, 0x95, } } /*aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395*/, LOGTEXT("Windows 7 ThinPC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - // Windows 8 (Retail) - { { 0xc04ed6bf, 0x55c8, 0x4b47, { 0x9f, 0x8e, 0x5a, 0x1f, 0x31, 0xce, 0xee, 0x60, } } /*c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60*/, LOGTEXT("Windows 8 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x9d5584a2, 0x2d85, 0x419a, { 0x98, 0x2c, 0xa0, 0x08, 0x88, 0xbb, 0x9d, 0xdf, } } /*9d5584a2-2d85-419a-982c-a00888bb9ddf*/, LOGTEXT("Windows 8 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x197390a0, 0x65f6, 0x4a95, { 0xbd, 0xc4, 0x55, 0xd5, 0x8a, 0x3b, 0x02, 0x53, } } /*197390a0-65f6-4a95-bdc4-55d58a3b0253*/, LOGTEXT("Windows 8 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x8860fcd4, 0xa77b, 0x4a20, { 0x90, 0x45, 0xa1, 0x50, 0xff, 0x11, 0xd6, 0x09, } } /*8860fcd4-a77b-4a20-9045-a150ff11d609*/, LOGTEXT("Windows 8 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0xa00018a3, 0xf20f, 0x4632, { 0xbf, 0x7c, 0x8d, 0xaa, 0x53, 0x51, 0xc9, 0x14, } } /*a00018a3-f20f-4632-bf7c-8daa5351c914*/, LOGTEXT("Windows 8 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + // Windows 8 (Retail) + { { 0xc04ed6bf, 0x55c8, 0x4b47, { 0x9f, 0x8e, 0x5a, 0x1f, 0x31, 0xce, 0xee, 0x60, } } /*c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60*/, LOGTEXT("Windows 8 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x9d5584a2, 0x2d85, 0x419a, { 0x98, 0x2c, 0xa0, 0x08, 0x88, 0xbb, 0x9d, 0xdf, } } /*9d5584a2-2d85-419a-982c-a00888bb9ddf*/, LOGTEXT("Windows 8 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x197390a0, 0x65f6, 0x4a95, { 0xbd, 0xc4, 0x55, 0xd5, 0x8a, 0x3b, 0x02, 0x53, } } /*197390a0-65f6-4a95-bdc4-55d58a3b0253*/, LOGTEXT("Windows 8 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x8860fcd4, 0xa77b, 0x4a20, { 0x90, 0x45, 0xa1, 0x50, 0xff, 0x11, 0xd6, 0x09, } } /*8860fcd4-a77b-4a20-9045-a150ff11d609*/, LOGTEXT("Windows 8 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0xa00018a3, 0xf20f, 0x4632, { 0xbf, 0x7c, 0x8d, 0xaa, 0x53, 0x51, 0xc9, 0x14, } } /*a00018a3-f20f-4632-bf7c-8daa5351c914*/, LOGTEXT("Windows 8 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - // Windows 8 (Volume) - { { 0x18db1848, 0x12e0, 0x4167, { 0xb9, 0xd7, 0xda, 0x7f, 0xcd, 0xa5, 0x07, 0xdb, } } /*18db1848-12e0-4167-b9d7-da7fcda507db*/, LOGTEXT("Windows 8 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0x10018baf, 0xce21, 0x4060, { 0x80, 0xbd, 0x47, 0xfe, 0x74, 0xed, 0x4d, 0xab, } } /*10018baf-ce21-4060-80bd-47fe74ed4dab*/, LOGTEXT("Windows 8 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0x458e1bec, 0x837a, 0x45f6, { 0xb9, 0xd5, 0x92, 0x5e, 0xd5, 0xd2, 0x99, 0xde, } } /*458e1bec-837a-45f6-b9d5-925ed5d299de*/, LOGTEXT("Windows 8 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xe14997e7, 0x800a, 0x4cf7, { 0xad, 0x10, 0xde, 0x4b, 0x45, 0xb5, 0x78, 0xdb, } } /*e14997e7-800a-4cf7-ad10-de4b45b578db*/, LOGTEXT("Windows 8 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xa98bcd6d, 0x5343, 0x4603, { 0x8a, 0xfe, 0x59, 0x08, 0xe4, 0x61, 0x11, 0x12, } } /*a98bcd6d-5343-4603-8afe-5908e4611112*/, LOGTEXT("Windows 8 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xebf245c1, 0x29a8, 0x4daf, { 0x9c, 0xb1, 0x38, 0xdf, 0xc6, 0x08, 0xa8, 0xc8, } } /*ebf245c1-29a8-4daf-9cb1-38dfc608a8c8*/, LOGTEXT("Windows 8 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + // Windows 8 (Volume) + { { 0x18db1848, 0x12e0, 0x4167, { 0xb9, 0xd7, 0xda, 0x7f, 0xcd, 0xa5, 0x07, 0xdb, } } /*18db1848-12e0-4167-b9d7-da7fcda507db*/, LOGTEXT("Windows 8 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0x10018baf, 0xce21, 0x4060, { 0x80, 0xbd, 0x47, 0xfe, 0x74, 0xed, 0x4d, 0xab, } } /*10018baf-ce21-4060-80bd-47fe74ed4dab*/, LOGTEXT("Windows 8 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0x458e1bec, 0x837a, 0x45f6, { 0xb9, 0xd5, 0x92, 0x5e, 0xd5, 0xd2, 0x99, 0xde, } } /*458e1bec-837a-45f6-b9d5-925ed5d299de*/, LOGTEXT("Windows 8 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xe14997e7, 0x800a, 0x4cf7, { 0xad, 0x10, 0xde, 0x4b, 0x45, 0xb5, 0x78, 0xdb, } } /*e14997e7-800a-4cf7-ad10-de4b45b578db*/, LOGTEXT("Windows 8 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xa98bcd6d, 0x5343, 0x4603, { 0x8a, 0xfe, 0x59, 0x08, 0xe4, 0x61, 0x11, 0x12, } } /*a98bcd6d-5343-4603-8afe-5908e4611112*/, LOGTEXT("Windows 8 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xebf245c1, 0x29a8, 0x4daf, { 0x9c, 0xb1, 0x38, 0xdf, 0xc6, 0x08, 0xa8, 0xc8, } } /*ebf245c1-29a8-4daf-9cb1-38dfc608a8c8*/, LOGTEXT("Windows 8 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - // Windows 8.1 (Retail) - { { 0xfe1c3238, 0x432a, 0x43a1, { 0x8e, 0x25, 0x97, 0xe7, 0xd1, 0xef, 0x10, 0xf3, } } /*fe1c3238-432a-43a1-8e25-97e7d1ef10f3*/, LOGTEXT("Windows 8.1 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xffee456a, 0xcd87, 0x4390, { 0x8e, 0x07, 0x16, 0x14, 0x6c, 0x67, 0x2f, 0xd0, } } /*ffee456a-cd87-4390-8e07-16146c672fd0*/, LOGTEXT("Windows 8.1 Core ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xdb78b74f, 0xef1c, 0x4892, { 0xab, 0xfe, 0x1e, 0x66, 0xb8, 0x23, 0x1d, 0xf6, } } /*db78b74f-ef1c-4892-abfe-1e66b8231df6*/, LOGTEXT("Windows 8.1 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0x78558a64, 0xdc19, 0x43fe, { 0xa0, 0xd0, 0x80, 0x75, 0xb2, 0xa3, 0x70, 0xa3, } } /*78558a64-dc19-43fe-a0d0-8075b2a370a3*/, LOGTEXT("Windows 8.1 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xc72c6a1d, 0xf252, 0x4e7e, { 0xbd, 0xd1, 0x3f, 0xca, 0x34, 0x2a, 0xcb, 0x35, } } /*c72c6a1d-f252-4e7e-bdd1-3fca342acb35*/, LOGTEXT("Windows 8.1 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xe58d87b5, 0x8126, 0x4580, { 0x80, 0xfb, 0x86, 0x1b, 0x22, 0xf7, 0x92, 0x96, } } /*e58d87b5-8126-4580-80fb-861b22f79296*/, LOGTEXT("Windows 8.1 Professional Student"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xcab491c7, 0xa918, 0x4f60, { 0xb5, 0x02, 0xda, 0xb7, 0x5e, 0x33, 0x4f, 0x40, } } /*cab491c7-a918-4f60-b502-dab75e334f40*/, LOGTEXT("Windows 8.1 Professional Student N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0x096ce63d, 0x4fac, 0x48a9, { 0x82, 0xa9, 0x61, 0xae, 0x9e, 0x80, 0x0e, 0x5f, } } /*096ce63d-4fac-48a9-82a9-61ae9e800e5f*/, LOGTEXT("Windows 8.1 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + // Windows 8.1 (Retail) + { { 0xfe1c3238, 0x432a, 0x43a1, { 0x8e, 0x25, 0x97, 0xe7, 0xd1, 0xef, 0x10, 0xf3, } } /*fe1c3238-432a-43a1-8e25-97e7d1ef10f3*/, LOGTEXT("Windows 8.1 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xffee456a, 0xcd87, 0x4390, { 0x8e, 0x07, 0x16, 0x14, 0x6c, 0x67, 0x2f, 0xd0, } } /*ffee456a-cd87-4390-8e07-16146c672fd0*/, LOGTEXT("Windows 8.1 Core ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xdb78b74f, 0xef1c, 0x4892, { 0xab, 0xfe, 0x1e, 0x66, 0xb8, 0x23, 0x1d, 0xf6, } } /*db78b74f-ef1c-4892-abfe-1e66b8231df6*/, LOGTEXT("Windows 8.1 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0x78558a64, 0xdc19, 0x43fe, { 0xa0, 0xd0, 0x80, 0x75, 0xb2, 0xa3, 0x70, 0xa3, } } /*78558a64-dc19-43fe-a0d0-8075b2a370a3*/, LOGTEXT("Windows 8.1 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xc72c6a1d, 0xf252, 0x4e7e, { 0xbd, 0xd1, 0x3f, 0xca, 0x34, 0x2a, 0xcb, 0x35, } } /*c72c6a1d-f252-4e7e-bdd1-3fca342acb35*/, LOGTEXT("Windows 8.1 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xe58d87b5, 0x8126, 0x4580, { 0x80, 0xfb, 0x86, 0x1b, 0x22, 0xf7, 0x92, 0x96, } } /*e58d87b5-8126-4580-80fb-861b22f79296*/, LOGTEXT("Windows 8.1 Professional Student"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xcab491c7, 0xa918, 0x4f60, { 0xb5, 0x02, 0xda, 0xb7, 0x5e, 0x33, 0x4f, 0x40, } } /*cab491c7-a918-4f60-b502-dab75e334f40*/, LOGTEXT("Windows 8.1 Professional Student N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0x096ce63d, 0x4fac, 0x48a9, { 0x82, 0xa9, 0x61, 0xae, 0x9e, 0x80, 0x0e, 0x5f, } } /*096ce63d-4fac-48a9-82a9-61ae9e800e5f*/, LOGTEXT("Windows 8.1 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - // Windows 8.1 (Volume) - { { 0xe9942b32, 0x2e55, 0x4197, { 0xb0, 0xbd, 0x5f, 0xf5, 0x8c, 0xba, 0x88, 0x60, } } /*e9942b32-2e55-4197-b0bd-5ff58cba8860*/, LOGTEXT("Windows 8.1 Core Connected"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xba998212, 0x460a, 0x44db, { 0xbf, 0xb5, 0x71, 0xbf, 0x09, 0xd1, 0xc6, 0x8b, } } /*ba998212-460a-44db-bfb5-71bf09d1c68b*/, LOGTEXT("Windows 8.1 Core Connected Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xc6ddecd6, 0x2354, 0x4c19, { 0x90, 0x9b, 0x30, 0x6a, 0x30, 0x58, 0x48, 0x4e, } } /*c6ddecd6-2354-4c19-909b-306a3058484e*/, LOGTEXT("Windows 8.1 Core Connected N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xb8f5e3a3, 0xed33, 0x4608, { 0x81, 0xe1, 0x37, 0xd6, 0xc9, 0xdc, 0xfd, 0x9c, } } /*b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c*/, LOGTEXT("Windows 8.1 Core Connected Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xf7e88590, 0xdfc7, 0x4c78, { 0xbc, 0xcb, 0x6f, 0x38, 0x65, 0xb9, 0x9d, 0x1a, } } /*f7e88590-dfc7-4c78-bccb-6f3865b99d1a*/, LOGTEXT("Windows 8.1 Embedded Industry Automotive"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xcd4e2d9f, 0x5059, 0x4a50, { 0xa9, 0x2d, 0x05, 0xd5, 0xbb, 0x12, 0x67, 0xc7, } } /*cd4e2d9f-5059-4a50-a92d-05d5bb1267c7*/, LOGTEXT("Windows 8.1 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x0ab82d54, 0x47f4, 0x4acb, { 0x81, 0x8c, 0xcc, 0x5b, 0xf0, 0xec, 0xb6, 0x49, } } /*0ab82d54-47f4-4acb-818c-cc5bf0ecb649*/, LOGTEXT("Windows 8.1 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x81671aaf, 0x79d1, 0x4eb1, { 0xb0, 0x04, 0x8c, 0xbb, 0xe1, 0x73, 0xaf, 0xea, } } /*81671aaf-79d1-4eb1-b004-8cbbe173afea*/, LOGTEXT("Windows 8.1 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x113e705c, 0xfa49, 0x48a4, { 0xbe, 0xea, 0x7d, 0xd8, 0x79, 0xb4, 0x6b, 0x14, } } /*113e705c-fa49-48a4-beea-7dd879b46b14*/, LOGTEXT("Windows 8.1 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xc06b6981, 0xd7fd, 0x4a35, { 0xb7, 0xb4, 0x05, 0x47, 0x42, 0xb7, 0xaf, 0x67, } } /*c06b6981-d7fd-4a35-b7b4-054742b7af67*/, LOGTEXT("Windows 8.1 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x7476d79f, 0x8e48, 0x49b4, { 0xab, 0x63, 0x4d, 0x0b, 0x81, 0x3a, 0x16, 0xe4, } } /*7476d79f-8e48-49b4-ab63-4d0b813a16e4*/, LOGTEXT("Windows 8.1 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + // Windows 8.1 (Volume) + { { 0xe9942b32, 0x2e55, 0x4197, { 0xb0, 0xbd, 0x5f, 0xf5, 0x8c, 0xba, 0x88, 0x60, } } /*e9942b32-2e55-4197-b0bd-5ff58cba8860*/, LOGTEXT("Windows 8.1 Core Connected"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xba998212, 0x460a, 0x44db, { 0xbf, 0xb5, 0x71, 0xbf, 0x09, 0xd1, 0xc6, 0x8b, } } /*ba998212-460a-44db-bfb5-71bf09d1c68b*/, LOGTEXT("Windows 8.1 Core Connected Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xc6ddecd6, 0x2354, 0x4c19, { 0x90, 0x9b, 0x30, 0x6a, 0x30, 0x58, 0x48, 0x4e, } } /*c6ddecd6-2354-4c19-909b-306a3058484e*/, LOGTEXT("Windows 8.1 Core Connected N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xb8f5e3a3, 0xed33, 0x4608, { 0x81, 0xe1, 0x37, 0xd6, 0xc9, 0xdc, 0xfd, 0x9c, } } /*b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c*/, LOGTEXT("Windows 8.1 Core Connected Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xf7e88590, 0xdfc7, 0x4c78, { 0xbc, 0xcb, 0x6f, 0x38, 0x65, 0xb9, 0x9d, 0x1a, } } /*f7e88590-dfc7-4c78-bccb-6f3865b99d1a*/, LOGTEXT("Windows 8.1 Embedded Industry Automotive"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xcd4e2d9f, 0x5059, 0x4a50, { 0xa9, 0x2d, 0x05, 0xd5, 0xbb, 0x12, 0x67, 0xc7, } } /*cd4e2d9f-5059-4a50-a92d-05d5bb1267c7*/, LOGTEXT("Windows 8.1 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x0ab82d54, 0x47f4, 0x4acb, { 0x81, 0x8c, 0xcc, 0x5b, 0xf0, 0xec, 0xb6, 0x49, } } /*0ab82d54-47f4-4acb-818c-cc5bf0ecb649*/, LOGTEXT("Windows 8.1 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x81671aaf, 0x79d1, 0x4eb1, { 0xb0, 0x04, 0x8c, 0xbb, 0xe1, 0x73, 0xaf, 0xea, } } /*81671aaf-79d1-4eb1-b004-8cbbe173afea*/, LOGTEXT("Windows 8.1 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x113e705c, 0xfa49, 0x48a4, { 0xbe, 0xea, 0x7d, 0xd8, 0x79, 0xb4, 0x6b, 0x14, } } /*113e705c-fa49-48a4-beea-7dd879b46b14*/, LOGTEXT("Windows 8.1 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xc06b6981, 0xd7fd, 0x4a35, { 0xb7, 0xb4, 0x05, 0x47, 0x42, 0xb7, 0xaf, 0x67, } } /*c06b6981-d7fd-4a35-b7b4-054742b7af67*/, LOGTEXT("Windows 8.1 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x7476d79f, 0x8e48, 0x49b4, { 0xab, 0x63, 0x4d, 0x0b, 0x81, 0x3a, 0x16, 0xe4, } } /*7476d79f-8e48-49b4-ab63-4d0b813a16e4*/, LOGTEXT("Windows 8.1 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - // Windows Preview - # ifdef INCLUDE_BETAS - { { 0xcde952c7, 0x2f96, 0x4d9d, { 0x8f, 0x2b, 0x2d, 0x34, 0x9f, 0x64, 0xfc, 0x51, } } /*cde952c7-2f96-4d9d-8f2b-2d349f64fc51*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0xa4383e6b, 0xdada, 0x423d, { 0xa4, 0x3d, 0xf2, 0x56, 0x78, 0x42, 0x96, 0x76, } } /*a4383e6b-dada-423d-a43d-f25678429676*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0xcf59a07b, 0x1a2a, 0x4be0, { 0xbf, 0xe0, 0x42, 0x3b, 0x58, 0x23, 0xe6, 0x63, } } /*cf59a07b-1a2a-4be0-bfe0-423b5823e663*/, LOGTEXT("Windows 10 Professional WMC Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0x2b9c337f, 0x7a1d, 0x4271, { 0x90, 0xa3, 0xc6, 0x85, 0x5a, 0x2b, 0x8a, 0x1c, } } /*2b9c337f-7a1d-4271-90a3-c6855a2b8a1c*/, LOGTEXT("Windows 8.x Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0x631ead72, 0xa8ab, 0x4df8, { 0xbb, 0xdf, 0x37, 0x20, 0x29, 0x98, 0x9b, 0xdd, } } /*631ead72-a8ab-4df8-bbdf-372029989bdd*/, LOGTEXT("Windows 8.x Preview ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - # endif // INCLUDE_BETAS + // Windows Preview +# ifdef INCLUDE_BETAS + { { 0xcde952c7, 0x2f96, 0x4d9d, { 0x8f, 0x2b, 0x2d, 0x34, 0x9f, 0x64, 0xfc, 0x51, } } /*cde952c7-2f96-4d9d-8f2b-2d349f64fc51*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0xa4383e6b, 0xdada, 0x423d, { 0xa4, 0x3d, 0xf2, 0x56, 0x78, 0x42, 0x96, 0x76, } } /*a4383e6b-dada-423d-a43d-f25678429676*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0xcf59a07b, 0x1a2a, 0x4be0, { 0xbf, 0xe0, 0x42, 0x3b, 0x58, 0x23, 0xe6, 0x63, } } /*cf59a07b-1a2a-4be0-bfe0-423b5823e663*/, LOGTEXT("Windows 10 Professional WMC Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0x2b9c337f, 0x7a1d, 0x4271, { 0x90, 0xa3, 0xc6, 0x85, 0x5a, 0x2b, 0x8a, 0x1c, } } /*2b9c337f-7a1d-4271-90a3-c6855a2b8a1c*/, LOGTEXT("Windows 8.x Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0x631ead72, 0xa8ab, 0x4df8, { 0xbb, 0xdf, 0x37, 0x20, 0x29, 0x98, 0x9b, 0xdd, } } /*631ead72-a8ab-4df8-bbdf-372029989bdd*/, LOGTEXT("Windows 8.x Preview ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, +# endif // INCLUDE_BETAS - // Windows Server 2008 A (Web and HPC) - { { 0x7afb1156, 0x2c1d, 0x40fc, { 0xb2, 0x60, 0xaa, 0xb7, 0x44, 0x2b, 0x62, 0xfe, } } /*7afb1156-2c1d-40fc-b260-aab7442b62fe*/, LOGTEXT("Windows Server 2008 Compute Cluster"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, - { { 0xddfa9f7c, 0xf09e, 0x40b9, { 0x8c, 0x1a, 0xbe, 0x87, 0x7a, 0x9a, 0x7f, 0x4b, } } /*ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b*/, LOGTEXT("Windows Server 2008 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, + // Windows Server 2008 A (Web and HPC) + { { 0x7afb1156, 0x2c1d, 0x40fc, { 0xb2, 0x60, 0xaa, 0xb7, 0x44, 0x2b, 0x62, 0xfe, } } /*7afb1156-2c1d-40fc-b260-aab7442b62fe*/, LOGTEXT("Windows Server 2008 Compute Cluster"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, + { { 0xddfa9f7c, 0xf09e, 0x40b9, { 0x8c, 0x1a, 0xbe, 0x87, 0x7a, 0x9a, 0x7f, 0x4b, } } /*ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b*/, LOGTEXT("Windows Server 2008 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, - // Windows Server 2008 B (Standard and Enterprise) - { { 0xc1af4d90, 0xd1bc, 0x44ca, { 0x85, 0xd4, 0x00, 0x3b, 0xa3, 0x3d, 0xb3, 0xb9, } } /*c1af4d90-d1bc-44ca-85d4-003ba33db3b9*/, LOGTEXT("Windows Server 2008 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0x8198490a, 0xadd0, 0x47b2, { 0xb3, 0xba, 0x31, 0x6b, 0x12, 0xd6, 0x47, 0xb4, } } /*8198490a-add0-47b2-b3ba-316b12d647b4*/, LOGTEXT("Windows Server 2008 Enterprise without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0xad2542d4, 0x9154, 0x4c6d, { 0x8a, 0x44, 0x30, 0xf1, 0x1e, 0xe9, 0x69, 0x89, } } /*ad2542d4-9154-4c6d-8a44-30f11ee96989*/, LOGTEXT("Windows Server 2008 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0x2401e3d0, 0xc50a, 0x4b58, { 0x87, 0xb2, 0x7e, 0x79, 0x4b, 0x7d, 0x26, 0x07, } } /*2401e3d0-c50a-4b58-87b2-7e794b7d2607*/, LOGTEXT("Windows Server 2008 Standard without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + // Windows Server 2008 B (Standard and Enterprise) + { { 0xc1af4d90, 0xd1bc, 0x44ca, { 0x85, 0xd4, 0x00, 0x3b, 0xa3, 0x3d, 0xb3, 0xb9, } } /*c1af4d90-d1bc-44ca-85d4-003ba33db3b9*/, LOGTEXT("Windows Server 2008 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0x8198490a, 0xadd0, 0x47b2, { 0xb3, 0xba, 0x31, 0x6b, 0x12, 0xd6, 0x47, 0xb4, } } /*8198490a-add0-47b2-b3ba-316b12d647b4*/, LOGTEXT("Windows Server 2008 Enterprise without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0xad2542d4, 0x9154, 0x4c6d, { 0x8a, 0x44, 0x30, 0xf1, 0x1e, 0xe9, 0x69, 0x89, } } /*ad2542d4-9154-4c6d-8a44-30f11ee96989*/, LOGTEXT("Windows Server 2008 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0x2401e3d0, 0xc50a, 0x4b58, { 0x87, 0xb2, 0x7e, 0x79, 0x4b, 0x7d, 0x26, 0x07, } } /*2401e3d0-c50a-4b58-87b2-7e794b7d2607*/, LOGTEXT("Windows Server 2008 Standard without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - // Windows Server 2008 C (Datacenter) - { { 0x68b6e220, 0xcf09, 0x466b, { 0x92, 0xd3, 0x45, 0xcd, 0x96, 0x4b, 0x95, 0x09, } } /*68b6e220-cf09-466b-92d3-45cd964b9509*/, LOGTEXT("Windows Server 2008 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, - { { 0xfd09ef77, 0x5647, 0x4eff, { 0x80, 0x9c, 0xaf, 0x2b, 0x64, 0x65, 0x9a, 0x45, } } /*fd09ef77-5647-4eff-809c-af2b64659a45*/, LOGTEXT("Windows Server 2008 Datacenter without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, - { { 0x01ef176b, 0x3e0d, 0x422a, { 0xb4, 0xf8, 0x4e, 0xa8, 0x80, 0x03, 0x5e, 0x8f, } } /*01ef176b-3e0d-422a-b4f8-4ea880035e8f*/, LOGTEXT("Windows Server 2008 for Itanium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + // Windows Server 2008 C (Datacenter) + { { 0x68b6e220, 0xcf09, 0x466b, { 0x92, 0xd3, 0x45, 0xcd, 0x96, 0x4b, 0x95, 0x09, } } /*68b6e220-cf09-466b-92d3-45cd964b9509*/, LOGTEXT("Windows Server 2008 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + { { 0xfd09ef77, 0x5647, 0x4eff, { 0x80, 0x9c, 0xaf, 0x2b, 0x64, 0x65, 0x9a, 0x45, } } /*fd09ef77-5647-4eff-809c-af2b64659a45*/, LOGTEXT("Windows Server 2008 Datacenter without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + { { 0x01ef176b, 0x3e0d, 0x422a, { 0xb4, 0xf8, 0x4e, 0xa8, 0x80, 0x03, 0x5e, 0x8f, } } /*01ef176b-3e0d-422a-b4f8-4ea880035e8f*/, LOGTEXT("Windows Server 2008 for Itanium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, - // Windows Server 2008 R2 A (Web and HPC) - { { 0xf772515c, 0x0e87, 0x48d5, { 0xa6, 0x76, 0xe6, 0x96, 0x2c, 0x3e, 0x11, 0x95, } } /*f772515c-0e87-48d5-a676-e6962c3e1195*/, LOGTEXT("Windows MultiPoint Server 2010"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, - { { 0xcda18cf3, 0xc196, 0x46ad, { 0xb2, 0x89, 0x60, 0xc0, 0x72, 0x86, 0x99, 0x94, } } /*cda18cf3-c196-46ad-b289-60c072869994*/, LOGTEXT("Windows Server 2008 R2 HPC Edition"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, - { { 0xa78b8bd9, 0x8017, 0x4df5, { 0xb8, 0x6a, 0x09, 0xf7, 0x56, 0xaf, 0xfa, 0x7c, } } /*a78b8bd9-8017-4df5-b86a-09f756affa7c*/, LOGTEXT("Windows Server 2008 R2 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + // Windows Server 2008 R2 A (Web and HPC) + { { 0xf772515c, 0x0e87, 0x48d5, { 0xa6, 0x76, 0xe6, 0x96, 0x2c, 0x3e, 0x11, 0x95, } } /*f772515c-0e87-48d5-a676-e6962c3e1195*/, LOGTEXT("Windows MultiPoint Server 2010"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + { { 0xcda18cf3, 0xc196, 0x46ad, { 0xb2, 0x89, 0x60, 0xc0, 0x72, 0x86, 0x99, 0x94, } } /*cda18cf3-c196-46ad-b289-60c072869994*/, LOGTEXT("Windows Server 2008 R2 HPC Edition"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + { { 0xa78b8bd9, 0x8017, 0x4df5, { 0xb8, 0x6a, 0x09, 0xf7, 0x56, 0xaf, 0xfa, 0x7c, } } /*a78b8bd9-8017-4df5-b86a-09f756affa7c*/, LOGTEXT("Windows Server 2008 R2 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, - // Windows Server 2008 R2 B (Standard and Enterprise) - { { 0x620e2b3d, 0x09e7, 0x42fd, { 0x80, 0x2a, 0x17, 0xa1, 0x36, 0x52, 0xfe, 0x7a, } } /*620e2b3d-09e7-42fd-802a-17a13652fe7a*/, LOGTEXT("Windows Server 2008 R2 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, - { { 0x68531fb9, 0x5511, 0x4989, { 0x97, 0xbe, 0xd1, 0x1a, 0x0f, 0x55, 0x63, 0x3f, } } /*68531fb9-5511-4989-97be-d11a0f55633f*/, LOGTEXT("Windows Server 2008 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, + // Windows Server 2008 R2 B (Standard and Enterprise) + { { 0x620e2b3d, 0x09e7, 0x42fd, { 0x80, 0x2a, 0x17, 0xa1, 0x36, 0x52, 0xfe, 0x7a, } } /*620e2b3d-09e7-42fd-802a-17a13652fe7a*/, LOGTEXT("Windows Server 2008 R2 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, + { { 0x68531fb9, 0x5511, 0x4989, { 0x97, 0xbe, 0xd1, 0x1a, 0x0f, 0x55, 0x63, 0x3f, } } /*68531fb9-5511-4989-97be-d11a0f55633f*/, LOGTEXT("Windows Server 2008 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, - // Windows Server 2008 R2 C (Datacenter) - { { 0x7482e61b, 0xc589, 0x4b7f, { 0x8e, 0xcc, 0x46, 0xd4, 0x55, 0xac, 0x3b, 0x87, } } /*7482e61b-c589-4b7f-8ecc-46d455ac3b87*/, LOGTEXT("Windows Server 2008 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, - { { 0x8a26851c, 0x1c7e, 0x48d3, { 0xa6, 0x87, 0xfb, 0xca, 0x9b, 0x9a, 0xc1, 0x6b, } } /*8a26851c-1c7e-48d3-a687-fbca9b9ac16b*/, LOGTEXT("Windows Server 2008 R2 for Itanium Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, + // Windows Server 2008 R2 C (Datacenter) + { { 0x7482e61b, 0xc589, 0x4b7f, { 0x8e, 0xcc, 0x46, 0xd4, 0x55, 0xac, 0x3b, 0x87, } } /*7482e61b-c589-4b7f-8ecc-46d455ac3b87*/, LOGTEXT("Windows Server 2008 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, + { { 0x8a26851c, 0x1c7e, 0x48d3, { 0xa6, 0x87, 0xfb, 0xca, 0x9b, 0x9a, 0xc1, 0x6b, } } /*8a26851c-1c7e-48d3-a687-fbca9b9ac16b*/, LOGTEXT("Windows Server 2008 R2 for Itanium Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, - // Windows Server 2012 - { { 0xd3643d60, 0x0c42, 0x412d, { 0xa7, 0xd6, 0x52, 0xe6, 0x63, 0x53, 0x27, 0xf6, } } /*d3643d60-0c42-412d-a7d6-52e6635327f6*/, LOGTEXT("Windows Server 2012 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0x95fd1c83, 0x7df5, 0x494a, { 0xbe, 0x8b, 0x13, 0x00, 0xe1, 0xc9, 0xd1, 0xcd, } } /*95fd1c83-7df5-494a-be8b-1300e1c9d1cd*/, LOGTEXT("Windows Server 2012 MultiPoint Premium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0x7d5486c7, 0xe120, 0x4771, { 0xb7, 0xf1, 0x7b, 0x56, 0xc6, 0xd3, 0x17, 0x0c, } } /*7d5486c7-e120-4771-b7f1-7b56c6d3170c*/, LOGTEXT("Windows Server 2012 MultiPoint Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0xf0f5ec41, 0x0d55, 0x4732, { 0xaf, 0x02, 0x44, 0x0a, 0x44, 0xa3, 0xcf, 0x0f, } } /*f0f5ec41-0d55-4732-af02-440a44a3cf0f*/, LOGTEXT("Windows Server 2012 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + // Windows Server 2012 + { { 0xd3643d60, 0x0c42, 0x412d, { 0xa7, 0xd6, 0x52, 0xe6, 0x63, 0x53, 0x27, 0xf6, } } /*d3643d60-0c42-412d-a7d6-52e6635327f6*/, LOGTEXT("Windows Server 2012 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0x95fd1c83, 0x7df5, 0x494a, { 0xbe, 0x8b, 0x13, 0x00, 0xe1, 0xc9, 0xd1, 0xcd, } } /*95fd1c83-7df5-494a-be8b-1300e1c9d1cd*/, LOGTEXT("Windows Server 2012 MultiPoint Premium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0x7d5486c7, 0xe120, 0x4771, { 0xb7, 0xf1, 0x7b, 0x56, 0xc6, 0xd3, 0x17, 0x0c, } } /*7d5486c7-e120-4771-b7f1-7b56c6d3170c*/, LOGTEXT("Windows Server 2012 MultiPoint Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0xf0f5ec41, 0x0d55, 0x4732, { 0xaf, 0x02, 0x44, 0x0a, 0x44, 0xa3, 0xcf, 0x0f, } } /*f0f5ec41-0d55-4732-af02-440a44a3cf0f*/, LOGTEXT("Windows Server 2012 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - // Windows Server 2012 R2 - { { 0xb743a2be, 0x68d4, 0x4dd3, { 0xaf, 0x32, 0x92, 0x42, 0x5b, 0x7b, 0xb6, 0x23, } } /*b743a2be-68d4-4dd3-af32-92425b7bb623*/, LOGTEXT("Windows Server 2012 R2 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0x00091344, 0x1ea4, 0x4f37, { 0xb7, 0x89, 0x01, 0x75, 0x0b, 0xa6, 0x98, 0x8c, } } /*00091344-1ea4-4f37-b789-01750ba6988c*/, LOGTEXT("Windows Server 2012 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0x21db6ba4, 0x9a7b, 0x4a14, { 0x9e, 0x29, 0x64, 0xa6, 0x0c, 0x59, 0x30, 0x1d, } } /*21db6ba4-9a7b-4a14-9e29-64a60c59301d*/, LOGTEXT("Windows Server 2012 R2 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0xb3ca044e, 0xa358, 0x4d68, { 0x98, 0x83, 0xaa, 0xa2, 0x94, 0x1a, 0xca, 0x99, } } /*b3ca044e-a358-4d68-9883-aaa2941aca99*/, LOGTEXT("Windows Server 2012 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + // Windows Server 2012 R2 + { { 0xb743a2be, 0x68d4, 0x4dd3, { 0xaf, 0x32, 0x92, 0x42, 0x5b, 0x7b, 0xb6, 0x23, } } /*b743a2be-68d4-4dd3-af32-92425b7bb623*/, LOGTEXT("Windows Server 2012 R2 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0x00091344, 0x1ea4, 0x4f37, { 0xb7, 0x89, 0x01, 0x75, 0x0b, 0xa6, 0x98, 0x8c, } } /*00091344-1ea4-4f37-b789-01750ba6988c*/, LOGTEXT("Windows Server 2012 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0x21db6ba4, 0x9a7b, 0x4a14, { 0x9e, 0x29, 0x64, 0xa6, 0x0c, 0x59, 0x30, 0x1d, } } /*21db6ba4-9a7b-4a14-9e29-64a60c59301d*/, LOGTEXT("Windows Server 2012 R2 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0xb3ca044e, 0xa358, 0x4d68, { 0x98, 0x83, 0xaa, 0xa2, 0x94, 0x1a, 0xca, 0x99, } } /*b3ca044e-a358-4d68-9883-aaa2941aca99*/, LOGTEXT("Windows Server 2012 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - // Windows Server 2016 - { { 0x3dbf341b, 0x5f6c, 0x4fa7, { 0xb9, 0x36, 0x69, 0x9d, 0xce, 0x9e, 0x26, 0x3f, } } /*3dbf341b-5f6c-4fa7-b936-699dce9e263f*/, LOGTEXT("Windows Server 2016 Azure Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x7b4433f4, 0xb1e7, 0x4788, { 0x89, 0x5a, 0xc4, 0x53, 0x78, 0xd3, 0x82, 0x53, } } /*7b4433f4-b1e7-4788-895a-c45378d38253*/, LOGTEXT("Windows Server 2016 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x21c56779, 0xb449, 0x4d20, { 0xad, 0xfc, 0xee, 0xce, 0x0e, 0x1a, 0xd7, 0x4b, } } /*21c56779-b449-4d20-adfc-eece0e1ad74b*/, LOGTEXT("Windows Server 2016 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x2b5a1b0f, 0xa5ab, 0x4c54, { 0xac, 0x2f, 0xa6, 0xd9, 0x48, 0x24, 0xa2, 0x83, } } /*2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283*/, LOGTEXT("Windows Server 2016 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x8c1c5410, 0x9f39, 0x4805, { 0x8c, 0x9d, 0x63, 0xa0, 0x77, 0x06, 0x35, 0x8f, } } /*8c1c5410-9f39-4805-8c9d-63a07706358f*/, LOGTEXT("Windows Server 2016 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + // Windows Server 2016 + { { 0x3dbf341b, 0x5f6c, 0x4fa7, { 0xb9, 0x36, 0x69, 0x9d, 0xce, 0x9e, 0x26, 0x3f, } } /*3dbf341b-5f6c-4fa7-b936-699dce9e263f*/, LOGTEXT("Windows Server 2016 Azure Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x7b4433f4, 0xb1e7, 0x4788, { 0x89, 0x5a, 0xc4, 0x53, 0x78, 0xd3, 0x82, 0x53, } } /*7b4433f4-b1e7-4788-895a-c45378d38253*/, LOGTEXT("Windows Server 2016 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x21c56779, 0xb449, 0x4d20, { 0xad, 0xfc, 0xee, 0xce, 0x0e, 0x1a, 0xd7, 0x4b, } } /*21c56779-b449-4d20-adfc-eece0e1ad74b*/, LOGTEXT("Windows Server 2016 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x2b5a1b0f, 0xa5ab, 0x4c54, { 0xac, 0x2f, 0xa6, 0xd9, 0x48, 0x24, 0xa2, 0x83, } } /*2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283*/, LOGTEXT("Windows Server 2016 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x8c1c5410, 0x9f39, 0x4805, { 0x8c, 0x9d, 0x63, 0xa0, 0x77, 0x06, 0x35, 0x8f, } } /*8c1c5410-9f39-4805-8c9d-63a07706358f*/, LOGTEXT("Windows Server 2016 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - // Windows Server Preview - # ifdef INCLUDE_BETAS - { { 0xba947c44, 0xd19d, 0x4786, { 0xb6, 0xae, 0x22, 0x77, 0x0b, 0xc9, 0x4c, 0x54, } } /*ba947c44-d19d-4786-b6ae-22770bc94c54*/, LOGTEXT("Windows Server 2016 Datacenter Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_SRV_BETA }, - # endif // INCLUDE_BETAS + // Windows Server Preview +# ifdef INCLUDE_BETAS + { { 0xba947c44, 0xd19d, 0x4786, { 0xb6, 0xae, 0x22, 0x77, 0x0b, 0xc9, 0x4c, 0x54, } } /*ba947c44-d19d-4786-b6ae-22770bc94c54*/, LOGTEXT("Windows Server 2016 Datacenter Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_SRV_BETA }, +# endif // INCLUDE_BETAS - // Windows Vista - { { 0x4f3d1606, 0x3fea, 0x4c01, { 0xbe, 0x3c, 0x8d, 0x67, 0x1c, 0x40, 0x1e, 0x3b, } } /*4f3d1606-3fea-4c01-be3c-8d671c401e3b*/, LOGTEXT("Windows Vista Business"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0x2c682dc2, 0x8b68, 0x4f63, { 0xa1, 0x65, 0xae, 0x29, 0x1d, 0x4c, 0xf1, 0x38, } } /*2c682dc2-8b68-4f63-a165-ae291d4cf138*/, LOGTEXT("Windows Vista Business N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0xcfd8ff08, 0xc0d7, 0x452b, { 0x9f, 0x60, 0xef, 0x5c, 0x70, 0xc3, 0x20, 0x94, } } /*cfd8ff08-c0d7-452b-9f60-ef5c70c32094*/, LOGTEXT("Windows Vista Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0xd4f54950, 0x26f2, 0x4fb4, { 0xba, 0x21, 0xff, 0xab, 0x16, 0xaf, 0xca, 0xde, } } /*d4f54950-26f2-4fb4-ba21-ffab16afcade*/, LOGTEXT("Windows Vista Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + // Windows Vista + { { 0x4f3d1606, 0x3fea, 0x4c01, { 0xbe, 0x3c, 0x8d, 0x67, 0x1c, 0x40, 0x1e, 0x3b, } } /*4f3d1606-3fea-4c01-be3c-8d671c401e3b*/, LOGTEXT("Windows Vista Business"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0x2c682dc2, 0x8b68, 0x4f63, { 0xa1, 0x65, 0xae, 0x29, 0x1d, 0x4c, 0xf1, 0x38, } } /*2c682dc2-8b68-4f63-a165-ae291d4cf138*/, LOGTEXT("Windows Vista Business N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0xcfd8ff08, 0xc0d7, 0x452b, { 0x9f, 0x60, 0xef, 0x5c, 0x70, 0xc3, 0x20, 0x94, } } /*cfd8ff08-c0d7-452b-9f60-ef5c70c32094*/, LOGTEXT("Windows Vista Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0xd4f54950, 0x26f2, 0x4fb4, { 0xba, 0x21, 0xff, 0xab, 0x16, 0xaf, 0xca, 0xde, } } /*d4f54950-26f2-4fb4-ba21-ffab16afcade*/, LOGTEXT("Windows Vista Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - // Office 2010 - { { 0x8ce7e872, 0x188c, 0x4b98, { 0x9d, 0x90, 0xf8, 0xf9, 0x0b, 0x7a, 0xad, 0x02, } } /*8ce7e872-188c-4b98-9d90-f8f90b7aad02*/, LOGTEXT("Office Access 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xcee5d470, 0x6e3b, 0x4fcc, { 0x8c, 0x2b, 0xd1, 0x74, 0x28, 0x56, 0x8a, 0x9f, } } /*cee5d470-6e3b-4fcc-8c2b-d17428568a9f*/, LOGTEXT("Office Excel 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x8947d0b8, 0xc33b, 0x43e1, { 0x8c, 0x56, 0x9b, 0x67, 0x4c, 0x05, 0x28, 0x32, } } /*8947d0b8-c33b-43e1-8c56-9b674c052832*/, LOGTEXT("Office Groove 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xca6b6639, 0x4ad6, 0x40ae, { 0xa5, 0x75, 0x14, 0xde, 0xe0, 0x7f, 0x64, 0x30, } } /*ca6b6639-4ad6-40ae-a575-14dee07f6430*/, LOGTEXT("Office InfoPath 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x09ed9640, 0xf020, 0x400a, { 0xac, 0xd8, 0xd7, 0xd8, 0x67, 0xdf, 0xd9, 0xc2, } } /*09ed9640-f020-400a-acd8-d7d867dfd9c2*/, LOGTEXT("Office Mondo 1 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xef3d4e49, 0xa53d, 0x4d81, { 0xa2, 0xb1, 0x2c, 0xa6, 0xc2, 0x55, 0x6b, 0x2c, } } /*ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c*/, LOGTEXT("Office Mondo 2 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xab586f5c, 0x5256, 0x4632, { 0x96, 0x2f, 0xfe, 0xfd, 0x8b, 0x49, 0xe6, 0xf4, } } /*ab586f5c-5256-4632-962f-fefd8b49e6f4*/, LOGTEXT("Office OneNote 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xecb7c192, 0x73ab, 0x4ded, { 0xac, 0xf4, 0x23, 0x99, 0xb0, 0x95, 0xd0, 0xcc, } } /*ecb7c192-73ab-4ded-acf4-2399b095d0cc*/, LOGTEXT("Office OutLook 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x45593b1d, 0xdfb1, 0x4e91, { 0xbb, 0xfb, 0x2d, 0x5d, 0x0c, 0xe2, 0x22, 0x7a, } } /*45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a*/, LOGTEXT("Office PowerPoint 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x6f327760, 0x8c5c, 0x417c, { 0x9b, 0x61, 0x83, 0x6a, 0x98, 0x28, 0x7e, 0x0c, } } /*6f327760-8c5c-417c-9b61-836a98287e0c*/, LOGTEXT("Office Professional Plus 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xdf133ff7, 0xbf14, 0x4f95, { 0xaf, 0xe3, 0x7b, 0x48, 0xe7, 0xe3, 0x31, 0xef, } } /*df133ff7-bf14-4f95-afe3-7b48e7e331ef*/, LOGTEXT("Office Project Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x5dc7bf61, 0x5ec9, 0x4996, { 0x9c, 0xcb, 0xdf, 0x80, 0x6a, 0x2d, 0x0e, 0xfe, } } /*5dc7bf61-5ec9-4996-9ccb-df806a2d0efe*/, LOGTEXT("Office Project Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xb50c4f75, 0x599b, 0x43e8, { 0x8d, 0xcd, 0x10, 0x81, 0xa7, 0x96, 0x72, 0x41, } } /*b50c4f75-599b-43e8-8dcd-1081a7967241*/, LOGTEXT("Office Publisher 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xea509e87, 0x07a1, 0x4a45, { 0x9e, 0xdc, 0xeb, 0xa5, 0xa3, 0x9f, 0x36, 0xaf, } } /*ea509e87-07a1-4a45-9edc-eba5a39f36af*/, LOGTEXT("Office Small Business Basics 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x9da2a678, 0xfb6b, 0x4e67, { 0xab, 0x84, 0x60, 0xdd, 0x6a, 0x9c, 0x81, 0x9a, } } /*9da2a678-fb6b-4e67-ab84-60dd6a9c819a*/, LOGTEXT("Office Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x92236105, 0xbb67, 0x494f, { 0x94, 0xc7, 0x7f, 0x7a, 0x60, 0x79, 0x29, 0xbd, } } /*92236105-bb67-494f-94c7-7f7a607929bd*/, LOGTEXT("Office Visio Premium 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xe558389c, 0x83c3, 0x4b29, { 0xad, 0xfe, 0x5e, 0x4d, 0x7f, 0x46, 0xc3, 0x58, } } /*e558389c-83c3-4b29-adfe-5e4d7f46c358*/, LOGTEXT("Office Visio Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x9ed833ff, 0x4f92, 0x4f36, { 0xb3, 0x70, 0x86, 0x83, 0xa4, 0xf1, 0x32, 0x75, } } /*9ed833ff-4f92-4f36-b370-8683a4f13275*/, LOGTEXT("Office Visio Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x2d0882e7, 0xa4e7, 0x423b, { 0x8c, 0xcc, 0x70, 0xd9, 0x1e, 0x01, 0x58, 0xb1, } } /*2d0882e7-a4e7-423b-8ccc-70d91e0158b1*/, LOGTEXT("Office Word 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + // Office 2010 + { { 0x8ce7e872, 0x188c, 0x4b98, { 0x9d, 0x90, 0xf8, 0xf9, 0x0b, 0x7a, 0xad, 0x02, } } /*8ce7e872-188c-4b98-9d90-f8f90b7aad02*/, LOGTEXT("Office Access 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xcee5d470, 0x6e3b, 0x4fcc, { 0x8c, 0x2b, 0xd1, 0x74, 0x28, 0x56, 0x8a, 0x9f, } } /*cee5d470-6e3b-4fcc-8c2b-d17428568a9f*/, LOGTEXT("Office Excel 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x8947d0b8, 0xc33b, 0x43e1, { 0x8c, 0x56, 0x9b, 0x67, 0x4c, 0x05, 0x28, 0x32, } } /*8947d0b8-c33b-43e1-8c56-9b674c052832*/, LOGTEXT("Office Groove 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xca6b6639, 0x4ad6, 0x40ae, { 0xa5, 0x75, 0x14, 0xde, 0xe0, 0x7f, 0x64, 0x30, } } /*ca6b6639-4ad6-40ae-a575-14dee07f6430*/, LOGTEXT("Office InfoPath 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x09ed9640, 0xf020, 0x400a, { 0xac, 0xd8, 0xd7, 0xd8, 0x67, 0xdf, 0xd9, 0xc2, } } /*09ed9640-f020-400a-acd8-d7d867dfd9c2*/, LOGTEXT("Office Mondo 1 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xef3d4e49, 0xa53d, 0x4d81, { 0xa2, 0xb1, 0x2c, 0xa6, 0xc2, 0x55, 0x6b, 0x2c, } } /*ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c*/, LOGTEXT("Office Mondo 2 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xab586f5c, 0x5256, 0x4632, { 0x96, 0x2f, 0xfe, 0xfd, 0x8b, 0x49, 0xe6, 0xf4, } } /*ab586f5c-5256-4632-962f-fefd8b49e6f4*/, LOGTEXT("Office OneNote 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xecb7c192, 0x73ab, 0x4ded, { 0xac, 0xf4, 0x23, 0x99, 0xb0, 0x95, 0xd0, 0xcc, } } /*ecb7c192-73ab-4ded-acf4-2399b095d0cc*/, LOGTEXT("Office OutLook 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x45593b1d, 0xdfb1, 0x4e91, { 0xbb, 0xfb, 0x2d, 0x5d, 0x0c, 0xe2, 0x22, 0x7a, } } /*45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a*/, LOGTEXT("Office PowerPoint 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x6f327760, 0x8c5c, 0x417c, { 0x9b, 0x61, 0x83, 0x6a, 0x98, 0x28, 0x7e, 0x0c, } } /*6f327760-8c5c-417c-9b61-836a98287e0c*/, LOGTEXT("Office Professional Plus 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xdf133ff7, 0xbf14, 0x4f95, { 0xaf, 0xe3, 0x7b, 0x48, 0xe7, 0xe3, 0x31, 0xef, } } /*df133ff7-bf14-4f95-afe3-7b48e7e331ef*/, LOGTEXT("Office Project Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x5dc7bf61, 0x5ec9, 0x4996, { 0x9c, 0xcb, 0xdf, 0x80, 0x6a, 0x2d, 0x0e, 0xfe, } } /*5dc7bf61-5ec9-4996-9ccb-df806a2d0efe*/, LOGTEXT("Office Project Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xb50c4f75, 0x599b, 0x43e8, { 0x8d, 0xcd, 0x10, 0x81, 0xa7, 0x96, 0x72, 0x41, } } /*b50c4f75-599b-43e8-8dcd-1081a7967241*/, LOGTEXT("Office Publisher 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xea509e87, 0x07a1, 0x4a45, { 0x9e, 0xdc, 0xeb, 0xa5, 0xa3, 0x9f, 0x36, 0xaf, } } /*ea509e87-07a1-4a45-9edc-eba5a39f36af*/, LOGTEXT("Office Small Business Basics 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x9da2a678, 0xfb6b, 0x4e67, { 0xab, 0x84, 0x60, 0xdd, 0x6a, 0x9c, 0x81, 0x9a, } } /*9da2a678-fb6b-4e67-ab84-60dd6a9c819a*/, LOGTEXT("Office Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x92236105, 0xbb67, 0x494f, { 0x94, 0xc7, 0x7f, 0x7a, 0x60, 0x79, 0x29, 0xbd, } } /*92236105-bb67-494f-94c7-7f7a607929bd*/, LOGTEXT("Office Visio Premium 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xe558389c, 0x83c3, 0x4b29, { 0xad, 0xfe, 0x5e, 0x4d, 0x7f, 0x46, 0xc3, 0x58, } } /*e558389c-83c3-4b29-adfe-5e4d7f46c358*/, LOGTEXT("Office Visio Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x9ed833ff, 0x4f92, 0x4f36, { 0xb3, 0x70, 0x86, 0x83, 0xa4, 0xf1, 0x32, 0x75, } } /*9ed833ff-4f92-4f36-b370-8683a4f13275*/, LOGTEXT("Office Visio Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x2d0882e7, 0xa4e7, 0x423b, { 0x8c, 0xcc, 0x70, 0xd9, 0x1e, 0x01, 0x58, 0xb1, } } /*2d0882e7-a4e7-423b-8ccc-70d91e0158b1*/, LOGTEXT("Office Word 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - // Office 2013 - { { 0x6ee7622c, 0x18d8, 0x4005, { 0x9f, 0xb7, 0x92, 0xdb, 0x64, 0x4a, 0x27, 0x9b, } } /*6ee7622c-18d8-4005-9fb7-92db644a279b*/, LOGTEXT("Office Access 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xf7461d52, 0x7c2b, 0x43b2, { 0x87, 0x44, 0xea, 0x95, 0x8e, 0x0b, 0xd0, 0x9a, } } /*f7461d52-7c2b-43b2-8744-ea958e0bd09a*/, LOGTEXT("Office Excel 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xa30b8040, 0xd68a, 0x423f, { 0xb0, 0xb5, 0x9c, 0xe2, 0x92, 0xea, 0x5a, 0x8f, } } /*a30b8040-d68a-423f-b0b5-9ce292ea5a8f*/, LOGTEXT("Office InfoPath 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x1b9f11e3, 0xc85c, 0x4e1b, { 0xbb, 0x29, 0x87, 0x9a, 0xd2, 0xc9, 0x09, 0xe3, } } /*1b9f11e3-c85c-4e1b-bb29-879ad2c909e3*/, LOGTEXT("Office Lync 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xdc981c6b, 0xfc8e, 0x420f, { 0xaa, 0x43, 0xf8, 0xf3, 0x3e, 0x5c, 0x09, 0x23, } } /*dc981c6b-fc8e-420f-aa43-f8f33e5c0923*/, LOGTEXT("Office Mondo 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xefe1f3e6, 0xaea2, 0x4144, { 0xa2, 0x08, 0x32, 0xaa, 0x87, 0x2b, 0x65, 0x45, } } /*efe1f3e6-aea2-4144-a208-32aa872b6545*/, LOGTEXT("Office OneNote 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x771c3afa, 0x50c5, 0x443f, { 0xb1, 0x51, 0xff, 0x25, 0x46, 0xd8, 0x63, 0xa0, } } /*771c3afa-50c5-443f-b151-ff2546d863a0*/, LOGTEXT("Office OutLook 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x8c762649, 0x97d1, 0x4953, { 0xad, 0x27, 0xb7, 0xe2, 0xc2, 0x5b, 0x97, 0x2e, } } /*8c762649-97d1-4953-ad27-b7e2c25b972e*/, LOGTEXT("Office PowerPoint 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xb322da9c, 0xa2e2, 0x4058, { 0x9e, 0x4e, 0xf5, 0x9a, 0x69, 0x70, 0xbd, 0x69, } } /*b322da9c-a2e2-4058-9e4e-f59a6970bd69*/, LOGTEXT("Office Professional Plus 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x4a5d124a, 0xe620, 0x44ba, { 0xb6, 0xff, 0x65, 0x89, 0x61, 0xb3, 0x3b, 0x9a, } } /*4a5d124a-e620-44ba-b6ff-658961b33b9a*/, LOGTEXT("Office Project Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x427a28d1, 0xd17c, 0x4abf, { 0xb7, 0x17, 0x32, 0xc7, 0x80, 0xba, 0x6f, 0x07, } } /*427a28d1-d17c-4abf-b717-32c780ba6f07*/, LOGTEXT("Office Project Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x00c79ff1, 0x6850, 0x443d, { 0xbf, 0x61, 0x71, 0xcd, 0xe0, 0xde, 0x30, 0x5f, } } /*00c79ff1-6850-443d-bf61-71cde0de305f*/, LOGTEXT("Office Publisher 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xb13afb38, 0xcd79, 0x4ae5, { 0x9f, 0x7f, 0xee, 0xd0, 0x58, 0xd7, 0x50, 0xca, } } /*b13afb38-cd79-4ae5-9f7f-eed058d750ca*/, LOGTEXT("Office Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xe13ac10e, 0x75d0, 0x4aff, { 0xa0, 0xcd, 0x76, 0x49, 0x82, 0xcf, 0x54, 0x1c, } } /*e13ac10e-75d0-4aff-a0cd-764982cf541c*/, LOGTEXT("Office Visio Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xac4efaf0, 0xf81f, 0x4f61, { 0xbd, 0xf7, 0xea, 0x32, 0xb0, 0x2a, 0xb1, 0x17, } } /*ac4efaf0-f81f-4f61-bdf7-ea32b02ab117*/, LOGTEXT("Office Visio Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xd9f5b1c6, 0x5386, 0x495a, { 0x88, 0xf9, 0x9a, 0xd6, 0xb4, 0x1a, 0xc9, 0xb3, } } /*d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3*/, LOGTEXT("Office Word 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + // Office 2013 + { { 0x6ee7622c, 0x18d8, 0x4005, { 0x9f, 0xb7, 0x92, 0xdb, 0x64, 0x4a, 0x27, 0x9b, } } /*6ee7622c-18d8-4005-9fb7-92db644a279b*/, LOGTEXT("Office Access 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xf7461d52, 0x7c2b, 0x43b2, { 0x87, 0x44, 0xea, 0x95, 0x8e, 0x0b, 0xd0, 0x9a, } } /*f7461d52-7c2b-43b2-8744-ea958e0bd09a*/, LOGTEXT("Office Excel 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xa30b8040, 0xd68a, 0x423f, { 0xb0, 0xb5, 0x9c, 0xe2, 0x92, 0xea, 0x5a, 0x8f, } } /*a30b8040-d68a-423f-b0b5-9ce292ea5a8f*/, LOGTEXT("Office InfoPath 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x1b9f11e3, 0xc85c, 0x4e1b, { 0xbb, 0x29, 0x87, 0x9a, 0xd2, 0xc9, 0x09, 0xe3, } } /*1b9f11e3-c85c-4e1b-bb29-879ad2c909e3*/, LOGTEXT("Office Lync 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xdc981c6b, 0xfc8e, 0x420f, { 0xaa, 0x43, 0xf8, 0xf3, 0x3e, 0x5c, 0x09, 0x23, } } /*dc981c6b-fc8e-420f-aa43-f8f33e5c0923*/, LOGTEXT("Office Mondo 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xefe1f3e6, 0xaea2, 0x4144, { 0xa2, 0x08, 0x32, 0xaa, 0x87, 0x2b, 0x65, 0x45, } } /*efe1f3e6-aea2-4144-a208-32aa872b6545*/, LOGTEXT("Office OneNote 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x771c3afa, 0x50c5, 0x443f, { 0xb1, 0x51, 0xff, 0x25, 0x46, 0xd8, 0x63, 0xa0, } } /*771c3afa-50c5-443f-b151-ff2546d863a0*/, LOGTEXT("Office OutLook 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x8c762649, 0x97d1, 0x4953, { 0xad, 0x27, 0xb7, 0xe2, 0xc2, 0x5b, 0x97, 0x2e, } } /*8c762649-97d1-4953-ad27-b7e2c25b972e*/, LOGTEXT("Office PowerPoint 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xb322da9c, 0xa2e2, 0x4058, { 0x9e, 0x4e, 0xf5, 0x9a, 0x69, 0x70, 0xbd, 0x69, } } /*b322da9c-a2e2-4058-9e4e-f59a6970bd69*/, LOGTEXT("Office Professional Plus 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x4a5d124a, 0xe620, 0x44ba, { 0xb6, 0xff, 0x65, 0x89, 0x61, 0xb3, 0x3b, 0x9a, } } /*4a5d124a-e620-44ba-b6ff-658961b33b9a*/, LOGTEXT("Office Project Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x427a28d1, 0xd17c, 0x4abf, { 0xb7, 0x17, 0x32, 0xc7, 0x80, 0xba, 0x6f, 0x07, } } /*427a28d1-d17c-4abf-b717-32c780ba6f07*/, LOGTEXT("Office Project Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x00c79ff1, 0x6850, 0x443d, { 0xbf, 0x61, 0x71, 0xcd, 0xe0, 0xde, 0x30, 0x5f, } } /*00c79ff1-6850-443d-bf61-71cde0de305f*/, LOGTEXT("Office Publisher 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xb13afb38, 0xcd79, 0x4ae5, { 0x9f, 0x7f, 0xee, 0xd0, 0x58, 0xd7, 0x50, 0xca, } } /*b13afb38-cd79-4ae5-9f7f-eed058d750ca*/, LOGTEXT("Office Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xe13ac10e, 0x75d0, 0x4aff, { 0xa0, 0xcd, 0x76, 0x49, 0x82, 0xcf, 0x54, 0x1c, } } /*e13ac10e-75d0-4aff-a0cd-764982cf541c*/, LOGTEXT("Office Visio Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xac4efaf0, 0xf81f, 0x4f61, { 0xbd, 0xf7, 0xea, 0x32, 0xb0, 0x2a, 0xb1, 0x17, } } /*ac4efaf0-f81f-4f61-bdf7-ea32b02ab117*/, LOGTEXT("Office Visio Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xd9f5b1c6, 0x5386, 0x495a, { 0x88, 0xf9, 0x9a, 0xd6, 0xb4, 0x1a, 0xc9, 0xb3, } } /*d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3*/, LOGTEXT("Office Word 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - // Office 2013 (Pre-Release) - # ifdef INCLUDE_BETAS - { { 0x44b538e2, 0xfb34, 0x4732, { 0x81, 0xe4, 0x64, 0x4c, 0x17, 0xd2, 0xe7, 0x46, } } /*44b538e2-fb34-4732-81e4-644c17d2e746*/, LOGTEXT("Office Access 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x9373bfa0, 0x97b3, 0x4587, { 0xab, 0x73, 0x30, 0x93, 0x44, 0x61, 0xd5, 0x5c, } } /*9373bfa0-97b3-4587-ab73-30934461d55c*/, LOGTEXT("Office Excel 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xaa286eb4, 0x556f, 0x4eeb, { 0x96, 0x7c, 0xc1, 0xb7, 0x71, 0xb7, 0x67, 0x3e, } } /*aa286eb4-556f-4eeb-967c-c1b771b7673e*/, LOGTEXT("Office Groove 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7ccc8256, 0xfbaa, 0x49c6, { 0xb2, 0xa9, 0xf5, 0xaf, 0xb4, 0x25, 0x7c, 0xd2, } } /*7ccc8256-fbaa-49c6-b2a9-f5afb4257cd2*/, LOGTEXT("Office InfoPath 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xc53dfe17, 0xcc00, 0x4967, { 0xb1, 0x88, 0xa0, 0x88, 0xa9, 0x65, 0x49, 0x4d, } } /*c53dfe17-cc00-4967-b188-a088a965494d*/, LOGTEXT("Office Lync 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x2816a87d, 0xe1ed, 0x4097, { 0xb3, 0x11, 0xe2, 0x34, 0x1c, 0x57, 0xb1, 0x79, } } /*2816a87d-e1ed-4097-b311-e2341c57b179*/, LOGTEXT("Office Mondo 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x67c0f908, 0x184f, 0x4f64, { 0x82, 0x50, 0x12, 0xdb, 0x79, 0x7a, 0xb3, 0xc3, } } /*67c0f908-184f-4f64-8250-12db797ab3c3*/, LOGTEXT("Office OneNote 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7bce4e7a, 0xdd80, 0x4682, { 0x98, 0xfa, 0xf9, 0x93, 0x72, 0x58, 0x03, 0xd2, } } /*7bce4e7a-dd80-4682-98fa-f993725803d2*/, LOGTEXT("Office Outlook 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x1ec10c0a, 0x54f6, 0x453e, { 0xb8, 0x5a, 0x6f, 0xa1, 0xbb, 0xfe, 0xa9, 0xb7, } } /*1ec10c0a-54f6-453e-b85a-6fa1bbfea9b7*/, LOGTEXT("Office PowerPoint 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x87d2b5bf, 0xd47b, 0x41fb, { 0xaf, 0x62, 0x71, 0xc3, 0x82, 0xf5, 0xcc, 0x85, } } /*87d2b5bf-d47b-41fb-af62-71c382f5cc85*/, LOGTEXT("Office Professional Plus 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x3cfe50a9, 0x0e03, 0x4b29, { 0x97, 0x54, 0x9f, 0x19, 0x3f, 0x07, 0xb7, 0x1f, } } /*3cfe50a9-0e03-4b29-9754-9f193f07b71f*/, LOGTEXT("Office Project Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x39e49e57, 0xae68, 0x4ee3, { 0xb0, 0x98, 0x26, 0x48, 0x0d, 0xf3, 0xda, 0x96, } } /*39e49e57-ae68-4ee3-b098-26480df3da96*/, LOGTEXT("Office Project Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x15aa2117, 0x8f79, 0x49a8, { 0x83, 0x17, 0x75, 0x30, 0x26, 0xd6, 0xa0, 0x54, } } /*15aa2117-8f79-49a8-8317-753026d6a054*/, LOGTEXT("Office Publisher 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xcfbfd60e, 0x0b5f, 0x427d, { 0x91, 0x7c, 0xa4, 0xdf, 0x42, 0xa8, 0x0e, 0x44, } } /*cfbfd60e-0b5f-427d-917c-a4df42a80e44*/, LOGTEXT("Office Visio Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7012cc81, 0x8887, 0x42e9, { 0xb1, 0x7d, 0x4e, 0x5e, 0x42, 0x76, 0x0f, 0x0d, } } /*7012cc81-8887-42e9-b17d-4e5e42760f0d*/, LOGTEXT("Office Visio Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xde9c7eb6, 0x5a85, 0x420d, { 0x97, 0x03, 0xff, 0xf1, 0x1b, 0xdd, 0x4d, 0x43, } } /*de9c7eb6-5a85-420d-9703-fff11bdd4d43*/, LOGTEXT("Office Word 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - # endif // INCLUDE_BETAS + // Office 2013 (Pre-Release) +# ifdef INCLUDE_BETAS + { { 0x44b538e2, 0xfb34, 0x4732, { 0x81, 0xe4, 0x64, 0x4c, 0x17, 0xd2, 0xe7, 0x46, } } /*44b538e2-fb34-4732-81e4-644c17d2e746*/, LOGTEXT("Office Access 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x9373bfa0, 0x97b3, 0x4587, { 0xab, 0x73, 0x30, 0x93, 0x44, 0x61, 0xd5, 0x5c, } } /*9373bfa0-97b3-4587-ab73-30934461d55c*/, LOGTEXT("Office Excel 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xaa286eb4, 0x556f, 0x4eeb, { 0x96, 0x7c, 0xc1, 0xb7, 0x71, 0xb7, 0x67, 0x3e, } } /*aa286eb4-556f-4eeb-967c-c1b771b7673e*/, LOGTEXT("Office Groove 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7ccc8256, 0xfbaa, 0x49c6, { 0xb2, 0xa9, 0xf5, 0xaf, 0xb4, 0x25, 0x7c, 0xd2, } } /*7ccc8256-fbaa-49c6-b2a9-f5afb4257cd2*/, LOGTEXT("Office InfoPath 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xc53dfe17, 0xcc00, 0x4967, { 0xb1, 0x88, 0xa0, 0x88, 0xa9, 0x65, 0x49, 0x4d, } } /*c53dfe17-cc00-4967-b188-a088a965494d*/, LOGTEXT("Office Lync 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x2816a87d, 0xe1ed, 0x4097, { 0xb3, 0x11, 0xe2, 0x34, 0x1c, 0x57, 0xb1, 0x79, } } /*2816a87d-e1ed-4097-b311-e2341c57b179*/, LOGTEXT("Office Mondo 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x67c0f908, 0x184f, 0x4f64, { 0x82, 0x50, 0x12, 0xdb, 0x79, 0x7a, 0xb3, 0xc3, } } /*67c0f908-184f-4f64-8250-12db797ab3c3*/, LOGTEXT("Office OneNote 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7bce4e7a, 0xdd80, 0x4682, { 0x98, 0xfa, 0xf9, 0x93, 0x72, 0x58, 0x03, 0xd2, } } /*7bce4e7a-dd80-4682-98fa-f993725803d2*/, LOGTEXT("Office Outlook 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x1ec10c0a, 0x54f6, 0x453e, { 0xb8, 0x5a, 0x6f, 0xa1, 0xbb, 0xfe, 0xa9, 0xb7, } } /*1ec10c0a-54f6-453e-b85a-6fa1bbfea9b7*/, LOGTEXT("Office PowerPoint 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x87d2b5bf, 0xd47b, 0x41fb, { 0xaf, 0x62, 0x71, 0xc3, 0x82, 0xf5, 0xcc, 0x85, } } /*87d2b5bf-d47b-41fb-af62-71c382f5cc85*/, LOGTEXT("Office Professional Plus 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x3cfe50a9, 0x0e03, 0x4b29, { 0x97, 0x54, 0x9f, 0x19, 0x3f, 0x07, 0xb7, 0x1f, } } /*3cfe50a9-0e03-4b29-9754-9f193f07b71f*/, LOGTEXT("Office Project Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x39e49e57, 0xae68, 0x4ee3, { 0xb0, 0x98, 0x26, 0x48, 0x0d, 0xf3, 0xda, 0x96, } } /*39e49e57-ae68-4ee3-b098-26480df3da96*/, LOGTEXT("Office Project Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x15aa2117, 0x8f79, 0x49a8, { 0x83, 0x17, 0x75, 0x30, 0x26, 0xd6, 0xa0, 0x54, } } /*15aa2117-8f79-49a8-8317-753026d6a054*/, LOGTEXT("Office Publisher 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xcfbfd60e, 0x0b5f, 0x427d, { 0x91, 0x7c, 0xa4, 0xdf, 0x42, 0xa8, 0x0e, 0x44, } } /*cfbfd60e-0b5f-427d-917c-a4df42a80e44*/, LOGTEXT("Office Visio Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7012cc81, 0x8887, 0x42e9, { 0xb1, 0x7d, 0x4e, 0x5e, 0x42, 0x76, 0x0f, 0x0d, } } /*7012cc81-8887-42e9-b17d-4e5e42760f0d*/, LOGTEXT("Office Visio Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xde9c7eb6, 0x5a85, 0x420d, { 0x97, 0x03, 0xff, 0xf1, 0x1b, 0xdd, 0x4d, 0x43, } } /*de9c7eb6-5a85-420d-9703-fff11bdd4d43*/, LOGTEXT("Office Word 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, +# endif // INCLUDE_BETAS - // Office 2016 - { { 0x67c0fc0c, 0xdeba, 0x401b, { 0xbf, 0x8b, 0x9c, 0x8a, 0xd8, 0x39, 0x58, 0x04, } } /*67c0fc0c-deba-401b-bf8b-9c8ad8395804*/, LOGTEXT("Office Access 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xc3e65d36, 0x141f, 0x4d2f, { 0xa3, 0x03, 0xa8, 0x42, 0xee, 0x75, 0x6a, 0x29, } } /*c3e65d36-141f-4d2f-a303-a842ee756a29*/, LOGTEXT("Office Excel 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x9caabccb, 0x61b1, 0x4b4b, { 0x8b, 0xec, 0xd1, 0x0a, 0x3c, 0x3a, 0xc2, 0xce, } } /*9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce*/, LOGTEXT("Office Mondo 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xe914ea6e, 0xa5fa, 0x4439, { 0xa3, 0x94, 0xa9, 0xbb, 0x32, 0x93, 0xca, 0x09, } } /*e914ea6e-a5fa-4439-a394-a9bb3293ca09*/, LOGTEXT("Office Mondo R 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd8cace59, 0x33d2, 0x4ac7, { 0x9b, 0x1b, 0x9b, 0x72, 0x33, 0x9c, 0x51, 0xc8, } } /*d8cace59-33d2-4ac7-9b1b-9b72339c51c8*/, LOGTEXT("Office OneNote 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xec9d9265, 0x9d1e, 0x4ed0, { 0x83, 0x8a, 0xcd, 0xc2, 0x0f, 0x25, 0x51, 0xa1, } } /*ec9d9265-9d1e-4ed0-838a-cdc20f2551a1*/, LOGTEXT("Office Outlook 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd70b1bba, 0xb893, 0x4544, { 0x96, 0xe2, 0xb7, 0xa3, 0x18, 0x09, 0x1c, 0x33, } } /*d70b1bba-b893-4544-96e2-b7a318091c33*/, LOGTEXT("Office Powerpoint 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd450596f, 0x894d, 0x49e0, { 0x96, 0x6a, 0xfd, 0x39, 0xed, 0x4c, 0x4c, 0x64, } } /*d450596f-894d-49e0-966a-fd39ed4c4c64*/, LOGTEXT("Office Professional Plus 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x4f414197, 0x0fc2, 0x4c01, { 0xb6, 0x8a, 0x86, 0xcb, 0xb9, 0xac, 0x25, 0x4c, } } /*4f414197-0fc2-4c01-b68a-86cbb9ac254c*/, LOGTEXT("Office Project Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x829b8110, 0x0e6f, 0x4349, { 0xbc, 0xa4, 0x42, 0x80, 0x35, 0x77, 0x78, 0x8d, } } /*829b8110-0e6f-4349-bca4-42803577788d*/, LOGTEXT("Office Project Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xda7ddabc, 0x3fbe, 0x4447, { 0x9e, 0x01, 0x6a, 0xb7, 0x44, 0x0b, 0x4c, 0xd4, } } /*da7ddabc-3fbe-4447-9e01-6ab7440b4cd4*/, LOGTEXT("Office Project Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xcbbaca45, 0x556a, 0x4416, { 0xad, 0x03, 0xbd, 0xa5, 0x98, 0xea, 0xa7, 0xc8, } } /*cbbaca45-556a-4416-ad03-bda598eaa7c8*/, LOGTEXT("Office Project Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x041a06cb, 0xc5b8, 0x4772, { 0x80, 0x9f, 0x41, 0x6d, 0x03, 0xd1, 0x66, 0x54, } } /*041a06cb-c5b8-4772-809f-416d03d16654*/, LOGTEXT("Office Publisher 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x83e04ee1, 0xfa8d, 0x436d, { 0x89, 0x94, 0xd3, 0x1a, 0x86, 0x2c, 0xab, 0x77, } } /*83e04ee1-fa8d-436d-8994-d31a862cab77*/, LOGTEXT("Office Skype for Business 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xdedfa23d, 0x6ed1, 0x45a6, { 0x85, 0xdc, 0x63, 0xca, 0xe0, 0x54, 0x6d, 0xe6, } } /*dedfa23d-6ed1-45a6-85dc-63cae0546de6*/, LOGTEXT("Office Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x6bf301c1, 0xb94a, 0x43e9, { 0xba, 0x31, 0xd4, 0x94, 0x59, 0x8c, 0x47, 0xfb, } } /*6bf301c1-b94a-43e9-ba31-d494598c47fb*/, LOGTEXT("Office Visio Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xb234abe3, 0x0857, 0x4f9c, { 0xb0, 0x5a, 0x4d, 0xc3, 0x14, 0xf8, 0x55, 0x57, } } /*b234abe3-0857-4f9c-b05a-4dc314f85557*/, LOGTEXT("Office Visio Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xaa2a7821, 0x1827, 0x4c2c, { 0x8f, 0x1d, 0x45, 0x13, 0xa3, 0x4d, 0xda, 0x97, } } /*aa2a7821-1827-4c2c-8f1d-4513a34dda97*/, LOGTEXT("Office Visio Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x361fe620, 0x64f4, 0x41b5, { 0xba, 0x77, 0x84, 0xf8, 0xe0, 0x79, 0xb1, 0xf7, } } /*361fe620-64f4-41b5-ba77-84f8e079b1f7*/, LOGTEXT("Office Visio Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xbb11badf, 0xd8aa, 0x470e, { 0x93, 0x11, 0x20, 0xea, 0xf8, 0x0f, 0xe5, 0xcc, } } /*bb11badf-d8aa-470e-9311-20eaf80fe5cc*/, LOGTEXT("Office Word 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - - // End marker (necessity should be removed when time permits) - - { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, NULL, NULL, 0, 0 } + // Office 2016 + { { 0x67c0fc0c, 0xdeba, 0x401b, { 0xbf, 0x8b, 0x9c, 0x8a, 0xd8, 0x39, 0x58, 0x04, } } /*67c0fc0c-deba-401b-bf8b-9c8ad8395804*/, LOGTEXT("Office Access 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xc3e65d36, 0x141f, 0x4d2f, { 0xa3, 0x03, 0xa8, 0x42, 0xee, 0x75, 0x6a, 0x29, } } /*c3e65d36-141f-4d2f-a303-a842ee756a29*/, LOGTEXT("Office Excel 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x9caabccb, 0x61b1, 0x4b4b, { 0x8b, 0xec, 0xd1, 0x0a, 0x3c, 0x3a, 0xc2, 0xce, } } /*9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce*/, LOGTEXT("Office Mondo 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xe914ea6e, 0xa5fa, 0x4439, { 0xa3, 0x94, 0xa9, 0xbb, 0x32, 0x93, 0xca, 0x09, } } /*e914ea6e-a5fa-4439-a394-a9bb3293ca09*/, LOGTEXT("Office Mondo R 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd8cace59, 0x33d2, 0x4ac7, { 0x9b, 0x1b, 0x9b, 0x72, 0x33, 0x9c, 0x51, 0xc8, } } /*d8cace59-33d2-4ac7-9b1b-9b72339c51c8*/, LOGTEXT("Office OneNote 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xec9d9265, 0x9d1e, 0x4ed0, { 0x83, 0x8a, 0xcd, 0xc2, 0x0f, 0x25, 0x51, 0xa1, } } /*ec9d9265-9d1e-4ed0-838a-cdc20f2551a1*/, LOGTEXT("Office Outlook 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd70b1bba, 0xb893, 0x4544, { 0x96, 0xe2, 0xb7, 0xa3, 0x18, 0x09, 0x1c, 0x33, } } /*d70b1bba-b893-4544-96e2-b7a318091c33*/, LOGTEXT("Office Powerpoint 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd450596f, 0x894d, 0x49e0, { 0x96, 0x6a, 0xfd, 0x39, 0xed, 0x4c, 0x4c, 0x64, } } /*d450596f-894d-49e0-966a-fd39ed4c4c64*/, LOGTEXT("Office Professional Plus 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x4f414197, 0x0fc2, 0x4c01, { 0xb6, 0x8a, 0x86, 0xcb, 0xb9, 0xac, 0x25, 0x4c, } } /*4f414197-0fc2-4c01-b68a-86cbb9ac254c*/, LOGTEXT("Office Project Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x829b8110, 0x0e6f, 0x4349, { 0xbc, 0xa4, 0x42, 0x80, 0x35, 0x77, 0x78, 0x8d, } } /*829b8110-0e6f-4349-bca4-42803577788d*/, LOGTEXT("Office Project Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xda7ddabc, 0x3fbe, 0x4447, { 0x9e, 0x01, 0x6a, 0xb7, 0x44, 0x0b, 0x4c, 0xd4, } } /*da7ddabc-3fbe-4447-9e01-6ab7440b4cd4*/, LOGTEXT("Office Project Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xcbbaca45, 0x556a, 0x4416, { 0xad, 0x03, 0xbd, 0xa5, 0x98, 0xea, 0xa7, 0xc8, } } /*cbbaca45-556a-4416-ad03-bda598eaa7c8*/, LOGTEXT("Office Project Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x041a06cb, 0xc5b8, 0x4772, { 0x80, 0x9f, 0x41, 0x6d, 0x03, 0xd1, 0x66, 0x54, } } /*041a06cb-c5b8-4772-809f-416d03d16654*/, LOGTEXT("Office Publisher 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x83e04ee1, 0xfa8d, 0x436d, { 0x89, 0x94, 0xd3, 0x1a, 0x86, 0x2c, 0xab, 0x77, } } /*83e04ee1-fa8d-436d-8994-d31a862cab77*/, LOGTEXT("Office Skype for Business 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xdedfa23d, 0x6ed1, 0x45a6, { 0x85, 0xdc, 0x63, 0xca, 0xe0, 0x54, 0x6d, 0xe6, } } /*dedfa23d-6ed1-45a6-85dc-63cae0546de6*/, LOGTEXT("Office Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x6bf301c1, 0xb94a, 0x43e9, { 0xba, 0x31, 0xd4, 0x94, 0x59, 0x8c, 0x47, 0xfb, } } /*6bf301c1-b94a-43e9-ba31-d494598c47fb*/, LOGTEXT("Office Visio Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xb234abe3, 0x0857, 0x4f9c, { 0xb0, 0x5a, 0x4d, 0xc3, 0x14, 0xf8, 0x55, 0x57, } } /*b234abe3-0857-4f9c-b05a-4dc314f85557*/, LOGTEXT("Office Visio Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xaa2a7821, 0x1827, 0x4c2c, { 0x8f, 0x1d, 0x45, 0x13, 0xa3, 0x4d, 0xda, 0x97, } } /*aa2a7821-1827-4c2c-8f1d-4513a34dda97*/, LOGTEXT("Office Visio Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x361fe620, 0x64f4, 0x41b5, { 0xba, 0x77, 0x84, 0xf8, 0xe0, 0x79, 0xb1, 0xf7, } } /*361fe620-64f4-41b5-ba77-84f8e079b1f7*/, LOGTEXT("Office Visio Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xbb11badf, 0xd8aa, 0x470e, { 0x93, 0x11, 0x20, 0xea, 0xf8, 0x0f, 0xe5, 0xcc, } } /*bb11badf-d8aa-470e-9311-20eaf80fe5cc*/, LOGTEXT("Office Word 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, }; // necessary because other .c files cannot access _countof() __pure ProdListIndex_t getExtendedProductListSize(void) { - return _countof(ExtendedProductList) - 1; + return _countof(ExtendedProductList); } -#ifndef NO_LOG +#endif // NO_EXTENDED_PRODUCT_LIST + +#if !defined(NO_LOG) || !defined(NO_STRICT_MODES) __pure ProdListIndex_t getAppListSize(void) { return _countof(AppList); } -#endif // NO_LOG +#endif // !defined(NO_LOG) || !defined(NO_STRICT_MODES) + +__pure ProdListIndex_t getProductListSize(void) +{ + return _countof(ProductList); +} -#endif // NO_EXTENDED_PRODUCT_LIST #endif // IS_LIBRARY @@ -330,18 +335,18 @@ __pure ProdListIndex_t getAppListSize(void) static const struct KMSHostOS { uint16_t Type; uint16_t Build; } HostOS[] = { { 55041, 6002 }, // Windows Server 2008 SP2 - { 55041, 7601 }, // Windows Server 2008 R2 SP1 - { 5426, 9200 }, // Windows Server 2012 - { 6401, 9600 }, // Windows Server 2012 R2 + { 55041, 7601 }, // Windows Server 2008 R2 SP1 + { 5426, 9200 }, // Windows Server 2012 + { 6401, 9600 }, // Windows Server 2012 R2 { 3612, 14393 }, // Windows Server 2016 }; // GroupID and PIDRange static const struct PKEYCONFIG { uint16_t GroupID; uint32_t RangeMin; uint32_t RangeMax; } pkeyconfig[] = { - { 206, 471000000, 530999999 }, // Windows Server 2016 - { 96, 199000000, 217999999 }, // Office2010 - { 206, 234000000, 255999999 }, // Office2013 - { 206, 437000000, 458999999 }, // Office2016 + { 206, 471000000, 530999999 }, // Windows Server 2016 + { 96, 199000000, 217999999 }, // Office2010 + { 206, 234000000, 255999999 }, // Office2013 + { 206, 437000000, 458999999 }, // Office2016 }; // Valid language identifiers to be used in the ePID @@ -373,19 +378,20 @@ uint16_t IsValidLcid(const uint16_t Lcid) #endif // NO_RANDOM_EPID -// Unix time is seconds from 1970-01-01. Should be 64 bits to avoid Year 2035 overflow bug. +// Unix time is seconds from 1970-01-01. Should be 64 bits to avoid Year 2038 overflow bug. // FILETIME is 100 nanoseconds from 1601-01-01. Must be 64 bits. void getUnixTimeAsFileTime(FILETIME *const ts) { int64_t unixtime = (int64_t)time(NULL); int64_t *filetime = (int64_t*)ts; - *filetime = LE64( (unixtime + 11644473600LL) * 10000000LL ); + //*filetime = LE64((unixtime + 11644473600LL) * 10000000LL); + PUT_UA64LE(filetime, (unixtime + 11644473600LL) * 10000000LL); } __pure int64_t fileTimeToUnixTime(const FILETIME *const ts) { - return LE64( *((const int64_t *const)ts) ) / 10000000LL - 11644473600LL; + return GET_UA64LE(ts) / 10000000LL - 11644473600LL; } @@ -393,9 +399,9 @@ __pure int64_t fileTimeToUnixTime(const FILETIME *const ts) * Get's a product name with a GUID in host-endian order. * List can be any list defined above. */ -const char* getProductNameHE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t *const i) +const char* getProductNameHE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t maxList, ProdListIndex_t *const i) { - for (*i = 0; List[*i].name != NULL; (*i)++) + for (*i = 0; *i < maxList; (*i)++) { if (IsEqualGUID(guid, &List[*i].guid)) return List[*i].name; @@ -408,15 +414,15 @@ const char* getProductNameHE(const GUID *const guid, const KmsIdList *const List /* * same as getProductnameHE except GUID is in little-endian (network) order */ -const char* getProductNameLE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t *const i) +const char* getProductNameLE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t maxList, ProdListIndex_t *const i) { - #if __BYTE_ORDER != __LITTLE_ENDIAN +#if __BYTE_ORDER != __LITTLE_ENDIAN GUID HeGUID; LEGUID(&HeGUID, guid); - return getProductNameHE(&HeGUID, List, i); - #else - return getProductNameHE(guid, List, i); - #endif + return getProductNameHE(&HeGUID, List, maxList, i); +#else + return getProductNameHE(guid, List, maxList, i); +#endif } @@ -426,7 +432,7 @@ static char* itoc(char *const c, const int i, uint_fast8_t digits) { char formatString[8]; if (digits > 9) digits = 0; - strcpy(formatString,"%"); + strcpy(formatString, "%"); if (digits) { @@ -442,22 +448,22 @@ static char* itoc(char *const c, const int i, uint_fast8_t digits) static int getRandomServerType() { -# ifndef USE_MSRPC - if (!UseRpcBTFN) -# endif // USE_MSRPC +# if defined(USE_MSRPC) || defined(SIMPLE_RPC) + + return rand() % (int)_countof(HostOS); + +# else // !defined(USE_MSRPC) && !defined(SIMPLE_RPC) + if (!UseServerRpcBTFN) { // This isn't possible at all, e.g. KMS host on XP return rand() % (int)_countof(HostOS); } -# ifndef USE_MSRPC - else - { - // return 9200/9600 if NDR64 is in use, otherwise 6002/7601 - // return (rand() % 2) + (UseRpcNDR64 ? 2 : 0); - if (UseRpcNDR64) return (rand() % 3) + 2; - return (rand() % 2); - } -# endif // USE_MSRPC + + // return 9200/9600/14393 if NDR64 is in use, otherwise 6002/7601 + if (UseServerRpcNDR64) return (rand() % 3) + 2; + return (rand() % 2); + +# endif // !defined(USE_MSRPC) && !defined(SIMPLE_RPC) } @@ -476,7 +482,7 @@ static void generateRandomPid(int index, char *const szPid, int serverType, int1 strcpy(szPid, itoc(numberBuffer, HostOS[serverType].Type, 5)); strcat(szPid, "-"); - if (index > 3) index=0; + if (index > 3) index = 0; strcat(szPid, itoc(numberBuffer, pkeyconfig[index].GroupID, 5)); strcat(szPid, "-"); @@ -525,7 +531,7 @@ void randomPidInit() ProdListIndex_t i; int serverType = getRandomServerType(); - int16_t lang = Lcid ? Lcid : LcidList[rand() % _countof(LcidList)]; + int16_t lang = Lcid ? Lcid : LcidList[rand() % _countof(LcidList)]; for (i = 0; i < MAX_KMSAPPS; i++) { @@ -538,9 +544,9 @@ void randomPidInit() strcpy((char*)KmsResponseParameters[i].Epid, Epid); - #ifndef NO_LOG +#ifndef NO_LOG KmsResponseParameters[i].EpidSource = "randomized at program start"; - #endif // NO_LOG +#endif // NO_LOG } } @@ -557,19 +563,19 @@ static void logRequest(const REQUEST *const baseRequest) char clientname[64]; ProdListIndex_t index; - #ifndef NO_EXTENDED_PRODUCT_LIST - productName = getProductNameLE(&baseRequest->ActID, ExtendedProductList, &index); - if (++index >= (int)_countof(ExtendedProductList)) - #endif // NO_EXTENDED_PRODUCT_LIST +#ifndef NO_EXTENDED_PRODUCT_LIST + productName = getProductNameLE(&baseRequest->ActID, ExtendedProductList, _countof(ExtendedProductList), &index); + if (index >= (int)_countof(ExtendedProductList)) +#endif // NO_EXTENDED_PRODUCT_LIST { - productName = getProductNameLE(&baseRequest->KMSID, ProductList, &index); - if (++index >= (int)_countof(ProductList)) + productName = getProductNameLE(&baseRequest->KMSID, ProductList, _countof(ProductList), &index); + if (index >= (int)_countof(ProductList)) { - productName = getProductNameLE(&baseRequest->AppID, AppList, &index); + productName = getProductNameLE(&baseRequest->AppID, AppList, _countof(AppList), &index); } } - #ifndef NO_VERBOSE_LOG +#ifndef NO_VERBOSE_LOG if (logverbose) { logger("<<< Incoming KMS request\n"); @@ -577,12 +583,12 @@ static void logRequest(const REQUEST *const baseRequest) } else { - #endif // NO_VERBOSE_LOG +#endif // NO_VERBOSE_LOG ucs2_to_utf8(baseRequest->WorkstationName, clientname, 64, 64); logger("KMS v%i.%i request from %s for %s\n", LE16(baseRequest->MajorVer), LE16(baseRequest->MinorVer), clientname, productName); - #ifndef NO_VERBOSE_LOG +#ifndef NO_VERBOSE_LOG } - #endif // NO_VERBOSE_LOG +#endif // NO_VERBOSE_LOG } #endif // NO_LOG @@ -606,38 +612,38 @@ static void getEpid(RESPONSE *const baseResponse, const char** EpidSource, const const char* pid; if (KmsResponseParameters[index].Epid == NULL) { - #ifndef NO_RANDOM_EPID +#ifndef NO_RANDOM_EPID if (RandomizationLevel == 2) { char szPid[PID_BUFFER_SIZE]; generateRandomPid(index, szPid, -1, Lcid ? Lcid : -1); pid = szPid; - #ifndef NO_LOG +#ifndef NO_LOG *EpidSource = "randomized on every request"; - #endif // NO_LOG +#endif // NO_LOG } else - #endif // NO_RANDOM_EPID +#endif // NO_RANDOM_EPID { - switch(index) + switch (index) { - case EPID_INDEX_OFFICE2016: - pid = EPID_OFFICE2016; - break; - case EPID_INDEX_OFFICE2013: - pid = EPID_OFFICE2013; - break; - case EPID_INDEX_OFFICE2010: - pid = EPID_OFFICE2010; - break; - default: - pid = EPID_WINDOWS; - break; + case EPID_INDEX_OFFICE2016: + pid = EPID_OFFICE2016; + break; + case EPID_INDEX_OFFICE2013: + pid = EPID_OFFICE2013; + break; + case EPID_INDEX_OFFICE2010: + pid = EPID_OFFICE2010; + break; + default: + pid = EPID_WINDOWS; + break; } - #ifndef NO_LOG +#ifndef NO_LOG *EpidSource = "vlmcsd default"; - #endif // NO_LOG +#endif // NO_LOG } } else @@ -647,9 +653,9 @@ static void getEpid(RESPONSE *const baseResponse, const char** EpidSource, const if (HwId && KmsResponseParameters[index].HwId != NULL) memcpy(HwId, KmsResponseParameters[index].HwId, sizeof(((RESPONSE_V6 *)0)->HwId)); - #ifndef NO_LOG +#ifndef NO_LOG *EpidSource = KmsResponseParameters[index].EpidSource; - #endif // NO_LOG +#endif // NO_LOG } getEpidFromString(baseResponse, pid); } @@ -678,7 +684,7 @@ static void CheckRequest(const REQUEST *const Request) if (LE32(Request->IsClientVM) > 1) logger("Warning: Virtual Machine field in request must be 0 or 1 but is %u\n", LE32(Request->IsClientVM)); - if (LE32(Request->LicenseStatus) > 6 ) + if (LE32(Request->LicenseStatus) > 6) logger("Warning: License status must be between 0 and 6 but is %u\n", LE32(Request->LicenseStatus)); } #endif // !defined(NO_LOG) && defined(_PEDANTIC) @@ -693,62 +699,120 @@ static void logResponse(const RESPONSE *const baseResponse, const BYTE *const hw char utf8pid[PID_BUFFER_SIZE * 3]; ucs2_to_utf8(baseResponse->KmsPID, utf8pid, PID_BUFFER_SIZE, PID_BUFFER_SIZE * 3); - #ifndef NO_VERBOSE_LOG +#ifndef NO_VERBOSE_LOG if (!logverbose) { - #endif // NO_VERBOSE_LOG +#endif // NO_VERBOSE_LOG logger("Sending ePID (%s): %s\n", EpidSource, utf8pid); - #ifndef NO_VERBOSE_LOG +#ifndef NO_VERBOSE_LOG } else { logger(">>> Sending response, ePID source = %s\n", EpidSource); logResponseVerbose(utf8pid, hwId, baseResponse, &logger); } - #endif // NO_VERBOSE_LOG +#endif // NO_VERBOSE_LOG } #endif +#if __UCLIBC__ && !defined(NO_STRICT_MODES) +long long int llabs(long long int j); +#endif + + /* * Creates the unencrypted base response */ #ifndef IS_LIBRARY -static BOOL __stdcall CreateResponseBaseCallback(const REQUEST *const baseRequest, RESPONSE *const baseResponse, BYTE *const hwId, const char* const ipstr) +static HRESULT __stdcall CreateResponseBaseCallback(const REQUEST *const baseRequest, RESPONSE *const baseResponse, BYTE *const hwId, const char* const ipstr) { const char* EpidSource; - #ifndef NO_LOG +#ifndef NO_LOG logRequest(baseRequest); - #ifdef _PEDANTIC +#ifdef _PEDANTIC CheckRequest(baseRequest); - #endif // _PEDANTIC - #endif // NO_LOG +#endif // _PEDANTIC +#endif // NO_LOG ProdListIndex_t index; + getProductNameLE(&baseRequest->KMSID, ProductList, _countof(ProductList), &index); - getProductNameLE(&baseRequest->KMSID, ProductList, &index); - - switch(index) +# ifndef NO_STRICT_MODES + if (CheckClientTime) { - case KMS_ID_OFFICE2016: - index = EPID_INDEX_OFFICE2016; - break; + time_t requestTime = (time_t)fileTimeToUnixTime(&baseRequest->ClientTime); - case KMS_ID_OFFICE2013: - case KMS_ID_OFFICE2013_BETA: - index = EPID_INDEX_OFFICE2013; - break; + if (llabs(requestTime - time(NULL)) > 60 * 60 * 4) + { +# ifndef NO_LOG + logger("Client time differs more than 4 hours from system time.\n"); +# endif // !NO_LOG - case KMS_ID_OFFICE2010: - index = EPID_INDEX_OFFICE2010; - break; - - default: - index = EPID_INDEX_WINDOWS; - break; + return 0xC004F06C; + } } + if (WhitelistingLevel & 2) + { + uint_fast8_t i; + for (i = 0; i < _countof(RetailAndBetaProducts); i++) + { + if (IsEqualGuidLE(&ProductList[RetailAndBetaProducts[i]].guid, &baseRequest->KMSID)) + { +# ifndef NO_LOG + logger("Refusing retail or beta product\n"); +# endif // !NO_LOG + + return 0xC004F042; + } + } + } + + if ((WhitelistingLevel & 1) && index >= _countof(ProductList)) + { +# ifndef NO_LOG + logger("Refusing unknown product\n"); +# endif // !NO_LOG + + return 0xC004F042; + } +# endif // !NO_STRICT_MODES + + + switch (index) + { + case KMS_ID_OFFICE2016: + index = EPID_INDEX_OFFICE2016; + break; + + case KMS_ID_OFFICE2013: + case KMS_ID_OFFICE2013_BETA: + index = EPID_INDEX_OFFICE2013; + break; + + case KMS_ID_OFFICE2010: + index = EPID_INDEX_OFFICE2010; + break; + + default: + index = EPID_INDEX_WINDOWS; + break; + } + +# if !defined(NO_STRICT_MODES) + ProdListIndex_t appIndex = index >= _countof(AppList) ? _countof(AppList) - 1 : index; + + if ((WhitelistingLevel & 1) && !IsEqualGuidLE(&AppList[appIndex].guid, &baseRequest->AppID)) + { +# ifndef NO_LOG + logger("Refusing product with incorrect Application ID\n"); +# endif // NO_LOG + return 0xC004F042; + } +# endif // !defined(NO_STRICT_MODES) + getEpid(baseResponse, &EpidSource, index, hwId); baseResponse->Version = baseRequest->Version; @@ -756,17 +820,20 @@ static BOOL __stdcall CreateResponseBaseCallback(const REQUEST *const baseReques memcpy(&baseResponse->CMID, &baseRequest->CMID, sizeof(GUID)); memcpy(&baseResponse->ClientTime, &baseRequest->ClientTime, sizeof(FILETIME)); - baseResponse->Count = index > 0 && index < 4 ? LE32(10) : LE32(50); - baseResponse->VLActivationInterval = LE32(VLActivationInterval); - baseResponse->VLRenewalInterval = LE32(VLRenewalInterval); + DWORD required_clients = LE32(baseRequest->N_Policy) << 1; + DWORD minimum_answer_clients = index > 0 && index < 4 ? 10 : 50; + + baseResponse->Count = LE32(required_clients > minimum_answer_clients ? required_clients : minimum_answer_clients); + baseResponse->VLActivationInterval = LE32(VLActivationInterval); + baseResponse->VLRenewalInterval = LE32(VLRenewalInterval); if (LE32(baseRequest->N_Policy) > LE32(baseResponse->Count)) baseResponse->Count = LE32(LE32(baseRequest->N_Policy) << 1); - #ifndef NO_LOG +#ifndef NO_LOG logResponse(baseResponse, hwId, EpidSource); - #endif // NO_LOG +#endif // NO_LOG - return !0; + return S_OK; } RequestCallback_t CreateResponseBase = &CreateResponseBaseCallback; @@ -792,10 +859,11 @@ size_t CreateResponseV4(REQUEST_V4 *const request_v4, BYTE *const responseBuffer { RESPONSE_V4* Response = (RESPONSE_V4*)responseBuffer; - if ( !CreateResponseBase(&request_v4->RequestBase, &Response->ResponseBase, NULL, ipstr) ) return 0; + HRESULT hResult; + if (FAILED(hResult = CreateResponseBase(&request_v4->RequestBase, &Response->ResponseBase, NULL, ipstr))) return hResult; DWORD pidSize = LE32(Response->ResponseBase.PIDSize); - BYTE* postEpidPtr = responseBuffer + V4_PRE_EPID_SIZE + pidSize; + BYTE* postEpidPtr = responseBuffer + V4_PRE_EPID_SIZE + pidSize; memmove(postEpidPtr, &Response->ResponseBase.CMID, V4_POST_EPID_SIZE); size_t encryptSize = V4_PRE_EPID_SIZE + V4_POST_EPID_SIZE + pidSize; @@ -833,10 +901,10 @@ static int_fast8_t CreateV6Hmac(BYTE *const encrypt_start, const size_t encryptS // When generating a response tolerance must be 0. // If verifying the hash, try tolerance -1, 0 and +1. One of them must match. - timeSlot = LE64( (GET_UA64LE(ft) / TIME_C1 * TIME_C2 + TIME_C3) + (tolerance * TIME_C1) ); + timeSlot = LE64((GET_UA64LE(ft) / TIME_C1 * TIME_C2 + TIME_C3) + (tolerance * TIME_C1)); // The time slot is hashed with SHA256 so it is not so obvious that it is time - Sha256((BYTE*) &timeSlot, sizeof(timeSlot), hash); + Sha256((BYTE*)&timeSlot, sizeof(timeSlot), hash); // The last 16 bytes of the hashed time slot are the actual HMAC key if (!Sha256Hmac @@ -871,10 +939,10 @@ size_t CreateResponseV6(REQUEST_V6 *restrict request_v6, BYTE *const responseBuf RESPONSE_V6* Response = (RESPONSE_V6*)responseBuffer; RESPONSE* baseResponse = &Response->ResponseBase; - #ifdef _DEBUG +#ifdef _DEBUG // ReSharper disable once CppEntityNeverUsed RESPONSE_V6_DEBUG* xxx = (RESPONSE_V6_DEBUG*)responseBuffer; - #endif +#endif static const BYTE DefaultHwid[8] = { HWID }; int_fast8_t v6 = LE16(request_v6->MajorVer) > 5; @@ -896,8 +964,8 @@ size_t CreateResponseV6(REQUEST_V6 *restrict request_v6, BYTE *const responseBuf // pre-fill with default HwId (not required for v5) memcpy(Response->HwId, DefaultHwid, sizeof(Response->HwId)); - // Just copy decrypted request IV (using Null IV) here. Note this is identical - // to XORing non-decrypted request and reponse IVs + // Just copy decrypted request IV (using Null IV) here. Note this is identical + // to XORing non-decrypted request and reponse IVs memcpy(Response->XoredIVs, request_v6->IV, sizeof(Response->XoredIVs)); } else // V5 specific stuff @@ -911,11 +979,12 @@ size_t CreateResponseV6(REQUEST_V6 *restrict request_v6, BYTE *const responseBuf XorBlock(request_v6->IV, Response->RandomXoredIVs); // Get the base response - if ( !CreateResponseBase(&request_v6->RequestBase, baseResponse, Response->HwId, ipstr) ) return 0; + HRESULT hResult; + if (FAILED(hResult = CreateResponseBase(&request_v6->RequestBase, baseResponse, Response->HwId, ipstr))) return hResult; // Convert the fixed sized struct into variable sized DWORD pidSize = LE32(baseResponse->PIDSize); - BYTE* postEpidPtr = responseBuffer + V6_PRE_EPID_SIZE + pidSize; + BYTE* postEpidPtr = responseBuffer + V6_PRE_EPID_SIZE + pidSize; size_t post_epid_size = v6 ? V6_POST_EPID_SIZE : V5_POST_EPID_SIZE; memmove(postEpidPtr, &baseResponse->CMID, post_epid_size); @@ -1015,8 +1084,8 @@ RESPONSE_RESULT DecryptResponseV4(RESPONSE_V4* response_v4, const int responseSi int copySize = V4_PRE_EPID_SIZE + (LE32(((RESPONSE_V4*)rawResponse)->ResponseBase.PIDSize) <= PID_BUFFER_SIZE << 1 ? - LE32(((RESPONSE_V4*)rawResponse)->ResponseBase.PIDSize) : - PID_BUFFER_SIZE << 1); + LE32(((RESPONSE_V4*)rawResponse)->ResponseBase.PIDSize) : + PID_BUFFER_SIZE << 1); int messageSize = copySize + V4_POST_EPID_SIZE; @@ -1024,7 +1093,7 @@ RESPONSE_RESULT DecryptResponseV4(RESPONSE_V4* response_v4, const int responseSi memcpy(&response_v4->ResponseBase.CMID, rawResponse + copySize, responseSize - copySize); // ensure PID is null terminated - response_v4->ResponseBase.KmsPID[PID_BUFFER_SIZE-1] = 0; + response_v4->ResponseBase.KmsPID[PID_BUFFER_SIZE - 1] = 0; uint8_t* mac = rawResponse + messageSize; AesCmacV4(rawResponse, messageSize, mac); @@ -1032,20 +1101,20 @@ RESPONSE_RESULT DecryptResponseV4(RESPONSE_V4* response_v4, const int responseSi REQUEST_V4* request_v4 = (REQUEST_V4*)rawRequest; RESPONSE_RESULT result; - result.mask = (DWORD)~0; - result.PidLengthOK = checkPidLength((RESPONSE*)rawResponse); - result.VersionOK = response_v4->ResponseBase.Version == request_v4->RequestBase.Version; - result.HashOK = !memcmp(&response_v4->MAC, mac, sizeof(response_v4->MAC)); - result.TimeStampOK = !memcmp(&response_v4->ResponseBase.ClientTime, &request_v4->RequestBase.ClientTime, sizeof(FILETIME)); - result.ClientMachineIDOK = !memcmp(&response_v4->ResponseBase.CMID, &request_v4->RequestBase.CMID, sizeof(GUID)); + result.mask = (DWORD)~0; + result.PidLengthOK = checkPidLength((RESPONSE*)rawResponse); + result.VersionOK = response_v4->ResponseBase.Version == request_v4->RequestBase.Version; + result.HashOK = !memcmp(&response_v4->MAC, mac, sizeof(response_v4->MAC)); + result.TimeStampOK = !memcmp(&response_v4->ResponseBase.ClientTime, &request_v4->RequestBase.ClientTime, sizeof(FILETIME)); + result.ClientMachineIDOK = !memcmp(&response_v4->ResponseBase.CMID, &request_v4->RequestBase.CMID, sizeof(GUID)); result.effectiveResponseSize = responseSize; - result.correctResponseSize = sizeof(RESPONSE_V4) - sizeof(response_v4->ResponseBase.KmsPID) + LE32(response_v4->ResponseBase.PIDSize); + result.correctResponseSize = sizeof(RESPONSE_V4) - sizeof(response_v4->ResponseBase.KmsPID) + LE32(response_v4->ResponseBase.PIDSize); return result; } -static RESPONSE_RESULT VerifyResponseV6(RESPONSE_RESULT result, const AesCtx* Ctx, RESPONSE_V6* response_v6, REQUEST_V6* request_v6, BYTE* const rawResponse) +static RESPONSE_RESULT VerifyResponseV6(RESPONSE_RESULT result, const AesCtx* Ctx, RESPONSE_V6* response_v6, REQUEST_V6* request_v6, BYTE* const rawResponse) { // Check IVs result.IVsOK = !memcmp // In V6 the XoredIV is actually the request IV @@ -1103,7 +1172,7 @@ static RESPONSE_RESULT VerifyResponseV6(RESPONSE_RESULT result, const AesCtx* Ct static RESPONSE_RESULT VerifyResponseV5(RESPONSE_RESULT result, REQUEST_V5* request_v5, RESPONSE_V5* response_v5) { // Check IVs: in V5 (and only v5) request and response IVs must match - result.IVsOK = !memcmp(request_v5->IV, response_v5->IV, sizeof(request_v5->IV)); + result.IVsOK = !memcmp(request_v5->IV, response_v5->IV, sizeof(request_v5->IV)); // V5 has no Hmac, always set to TRUE result.HmacSha256OK = TRUE; @@ -1147,19 +1216,19 @@ RESPONSE_RESULT DecryptResponseV6(RESPONSE_V6* response_v6, int responseSize, BY // Check if pad bytes are all the same BYTE* padByte; for (padByte = lastPadByte - *lastPadByte + 1; padByte < lastPadByte; padByte++) - if (*padByte != *lastPadByte) - { - result.DecryptSuccess = FALSE; - return result; - } + if (*padByte != *lastPadByte) + { + result.DecryptSuccess = FALSE; + return result; + } // Add size of Version, KmsPIDLen and variable size PID - DWORD pidSize = LE32(((RESPONSE_V6*) response)->ResponseBase.PIDSize); + DWORD pidSize = LE32(((RESPONSE_V6*)response)->ResponseBase.PIDSize); copySize1 += - V6_UNENCRYPTED_SIZE + + V6_UNENCRYPTED_SIZE + sizeof(response_v6->ResponseBase.PIDSize) + - (pidSize <= PID_BUFFER_SIZE << 1 ? pidSize : PID_BUFFER_SIZE << 1); + (pidSize <= PID_BUFFER_SIZE << 1 ? pidSize : PID_BUFFER_SIZE << 1); // Copy part 1 of response up to variable sized PID memcpy(response_v6, response, copySize1); @@ -1175,7 +1244,7 @@ RESPONSE_RESULT DecryptResponseV6(RESPONSE_V6* response_v6, int responseSize, BY // A basic client doesn't need the stuff below this comment but we want to use vlmcs // as a debug tool for KMS emulators. - REQUEST_V6* request_v6 = (REQUEST_V6*) rawRequest; + REQUEST_V6* request_v6 = (REQUEST_V6*)rawRequest; DWORD decryptSize = sizeof(request_v6->IV) + sizeof(request_v6->RequestBase) + sizeof(request_v6->Pad); AesDecryptCbc(&Ctx, NULL, request_v6->IV, decryptSize); @@ -1187,9 +1256,9 @@ RESPONSE_RESULT DecryptResponseV6(RESPONSE_V6* response_v6, int responseSize, BY request_v6->Version == request_v6->RequestBase.Version; // Check Base Request - result.PidLengthOK = checkPidLength(&((RESPONSE_V6*) response)->ResponseBase); - result.TimeStampOK = !memcmp(&response_v6->ResponseBase.ClientTime, &request_v6->RequestBase.ClientTime, sizeof(FILETIME)); - result.ClientMachineIDOK = IsEqualGUID(&response_v6->ResponseBase.CMID, &request_v6->RequestBase.CMID); + result.PidLengthOK = checkPidLength(&((RESPONSE_V6*)response)->ResponseBase); + result.TimeStampOK = !memcmp(&response_v6->ResponseBase.ClientTime, &request_v6->RequestBase.ClientTime, sizeof(FILETIME)); + result.ClientMachineIDOK = IsEqualGUID(&response_v6->ResponseBase.CMID, &request_v6->RequestBase.CMID); // Rebuild Random Key and Sha256 Hash BYTE HashVerify[sizeof(response_v6->Hash)]; diff --git a/src/kms.h b/src/kms.h index 96bbc8c..97251ea 100644 --- a/src/kms.h +++ b/src/kms.h @@ -270,7 +270,7 @@ typedef struct #define POFFICE2010GUID &AppList[APP_ID_OFFICE2010].guid #define POFFICE2013GUID &AppList[APP_ID_OFFICE2013].guid -typedef BOOL(__stdcall *RequestCallback_t)(const REQUEST *const baseRequest, RESPONSE *const baseResponse, BYTE *const hwId, const char* const ipstr); +typedef HRESULT(__stdcall *RequestCallback_t)(const REQUEST *const baseRequest, RESPONSE *const baseResponse, BYTE *const hwId, const char* const ipstr); size_t CreateResponseV4(REQUEST_V4 *const Request, BYTE *const response_data, const char* const ipstr); size_t CreateResponseV6(REQUEST_V6 *restrict Request, BYTE *const response_data, const char* const ipstr); @@ -282,10 +282,11 @@ RESPONSE_RESULT DecryptResponseV6(RESPONSE_V6* Response_v6, int responseSize, BY RESPONSE_RESULT DecryptResponseV4(RESPONSE_V4* Response_v4, const int responseSize, BYTE* const response, const BYTE* const request); void getUnixTimeAsFileTime(FILETIME *const ts); __pure int64_t fileTimeToUnixTime(const FILETIME *const ts); -const char* getProductNameHE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t *const i); -const char* getProductNameLE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t *const i); +const char* getProductNameHE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t maxList, ProdListIndex_t *const i); +const char* getProductNameLE(const GUID *const guid, const KmsIdList *const List, ProdListIndex_t maxList, ProdListIndex_t *const i); __pure ProdListIndex_t getExtendedProductListSize(); __pure ProdListIndex_t getAppListSize(void); +__pure ProdListIndex_t getProductListSize(void); extern const KmsIdList ProductList[]; extern const KmsIdList AppList[]; diff --git a/src/libkms.c b/src/libkms.c index bd50333..d4b8153 100644 --- a/src/libkms.c +++ b/src/libkms.c @@ -13,7 +13,7 @@ #define EXTERNAL dllexport -#define DLLVERSION 0x30002 +#define DLLVERSION 0x40000 #include "libkms.h" #include "shared_globals.h" @@ -51,7 +51,7 @@ EXTERNC __declspec(EXTERNAL) char* __cdecl GetErrorMessage() return ErrorMessage; } -EXTERNC __declspec(EXTERNAL) SOCKET __cdecl ConnectToServer(const char* host, const char* port, const int addressFamily) +EXTERNC __declspec(EXTERNAL)SOCKET __cdecl ConnectToServer(const char* host, const char* port, const int addressFamily) { SOCKET sock; *ErrorMessage = 0; @@ -74,11 +74,13 @@ EXTERNC __declspec(EXTERNAL) SOCKET __cdecl ConnectToServer(const char* host, co return sock; } -EXTERNC __declspec(EXTERNAL) RpcStatus __cdecl BindRpc(const SOCKET sock, const int_fast8_t useMultiplexedRpc) +EXTERNC __declspec(EXTERNAL)RpcStatus __cdecl BindRpc(const SOCKET sock, const int_fast8_t useMultiplexedRpc, const int_fast8_t useRpcNDR64, const int_fast8_t useRpcBTFN, PRpcDiag_t rpcDiag) { *ErrorMessage = 0; UseMultiplexedRpc = useMultiplexedRpc; - return rpcBindClient(sock, FALSE); + UseClientRpcNDR64 = useRpcNDR64; + UseClientRpcBTFN = useRpcBTFN; + return rpcBindClient(sock, FALSE, rpcDiag); } EXTERNC __declspec(EXTERNAL) void __cdecl CloseConnection(const SOCKET sock) @@ -87,24 +89,24 @@ EXTERNC __declspec(EXTERNAL) void __cdecl CloseConnection(const SOCKET sock) } -EXTERNC __declspec(EXTERNAL) DWORD __cdecl SendKMSRequest(const SOCKET sock, RESPONSE* baseResponse, REQUEST* baseRequest, RESPONSE_RESULT* result, BYTE *hwid) +EXTERNC __declspec(EXTERNAL)DWORD __cdecl SendKMSRequest(const SOCKET sock, RESPONSE* baseResponse, REQUEST* baseRequest, RESPONSE_RESULT* result, BYTE *hwid) { *ErrorMessage = 0; return SendActivationRequest(sock, baseResponse, baseRequest, result, hwid); } -EXTERNC __declspec(EXTERNAL) int_fast8_t __cdecl IsDisconnected(const SOCKET sock) +EXTERNC __declspec(EXTERNAL)int_fast8_t __cdecl IsDisconnected(const SOCKET sock) { return isDisconnected(sock); } -EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, RequestCallback_t requestCallback) +EXTERNC __declspec(EXTERNAL)DWORD __cdecl StartKmsServer(const int port, RequestCallback_t requestCallback) { #ifndef SIMPLE_SOCKETS char listenAddress[64]; - if (IsServerStarted) return !0; + if (IsServerStarted) return SOCKET_EALREADY; # ifdef _WIN32 int error = initializeWinSockets(); @@ -120,7 +122,7 @@ EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, Reques if (checkProtocolStack(AF_INET)) { haveIPv4 = TRUE; maxsockets++; } if (checkProtocolStack(AF_INET6)) { haveIPv6 = TRUE; maxsockets++; } - if(!maxsockets) return !0; + if (!maxsockets) return SOCKET_EAFNOSUPPORT; SocketList = (SOCKET*)vlmcsd_malloc(sizeof(SOCKET) * (size_t)maxsockets); numsockets = 0; @@ -140,7 +142,7 @@ EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, Reques if (!numsockets) { free(SocketList); - return !0; + return SOCKET_EADDRNOTAVAIL; } IsServerStarted = TRUE; @@ -152,7 +154,7 @@ EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, Reques # else // SIMPLE_SOCKETS - if (IsServerStarted) return !0; + if (IsServerStarted) return SOCKET_EALREADY; int error; # ifdef _WIN32 @@ -165,6 +167,7 @@ EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, Reques CreateResponseBase = requestCallback; error = listenOnAllAddresses(); + free(defaultport); if (error) return error; IsServerStarted = TRUE; @@ -178,9 +181,9 @@ EXTERNC __declspec(EXTERNAL) DWORD __cdecl StartKmsServer(const int port, Reques } -EXTERNC __declspec(EXTERNAL) DWORD __cdecl StopKmsServer() +EXTERNC __declspec(EXTERNAL)DWORD __cdecl StopKmsServer() { - if (!IsServerStarted) return !0; + if (!IsServerStarted) return VLMCSD_EPERM; closeAllListeningSockets(); diff --git a/src/libkms.h b/src/libkms.h index 6babaa7..ece9d1c 100644 --- a/src/libkms.h +++ b/src/libkms.h @@ -26,7 +26,7 @@ EXTERNC __declspec(EXTERNAL) const char* const __cdecl GetEmulatorVersion(); EXTERNC __declspec(EXTERNAL) SOCKET __cdecl ConnectToServer(const char* host, const char* port, const int addressFamily); EXTERNC __declspec(EXTERNAL) char* __cdecl GetErrorMessage(); EXTERNC __declspec(EXTERNAL) void __cdecl CloseConnection(const SOCKET sock); -EXTERNC __declspec(EXTERNAL) RpcStatus __cdecl BindRpc(const SOCKET sock, const int_fast8_t useMultiplexedRpc); +EXTERNC __declspec(EXTERNAL) RpcStatus __cdecl BindRpc(const SOCKET sock, const int_fast8_t useMultiplexedRpc, const int_fast8_t useRpcNDR64, const int_fast8_t useRpcBTFN, PRpcDiag_t rpcDiag); EXTERNC __declspec(EXTERNAL) int_fast8_t __cdecl IsDisconnected(const SOCKET sock); //EXTERN_C __declspec(EXTERNAL) unsigned int __cdecl GetRandom32(); diff --git a/src/msrpc-client.c b/src/msrpc-client.c index bbabcc0..864874c 100644 --- a/src/msrpc-client.c +++ b/src/msrpc-client.c @@ -90,7 +90,7 @@ RpcCtx connectToAddress(char *const addr, const int AddressFamily_unused, int_fa /* * Does not do RPC binding on the wire. Just initializes the interface */ -RpcStatus rpcBindClient(const RpcCtx handle, const int_fast8_t verbose) +RpcStatus rpcBindClient(const RpcCtx handle, const int_fast8_t verbose, PRpcDiag_t rpcDiag) { RPC_STATUS status; @@ -99,6 +99,7 @@ RpcStatus rpcBindClient(const RpcCtx handle, const int_fast8_t verbose) errorout("\n%s\n", win_strerror(status)); } + rpcDiag->HasRpcDiag = FALSE; return status; } diff --git a/src/msrpc-client.h b/src/msrpc-client.h index fba073d..603e3b8 100644 --- a/src/msrpc-client.h +++ b/src/msrpc-client.h @@ -7,6 +7,7 @@ #define MSRPC_CLIENT_H_ #include "types.h" +#include "shared_globals.h" #include #include "output.h" @@ -15,7 +16,7 @@ typedef RPC_STATUS RpcStatus; RpcCtx connectToAddress(char *const addr, const int AddressFamily_unused, int_fast8_t showHostName); int_fast8_t isDisconnected(const RpcCtx handle); -RpcStatus rpcBindClient(const RpcCtx handle, const int_fast8_t verbose); +RpcStatus rpcBindClient(const RpcCtx handle, const int_fast8_t verbose, PRpcDiag_t rpcDiag); RpcStatus rpcSendRequest(const RpcCtx handle, BYTE* KmsRequest, size_t requestSize, BYTE **KmsResponse, size_t *responseSize); RpcStatus closeRpc(RpcCtx s); diff --git a/src/network.c b/src/network.c index bb07ca4..08d158e 100644 --- a/src/network.c +++ b/src/network.c @@ -46,7 +46,7 @@ #include "rpc.h" #ifndef _WIN32 -typedef ssize_t (*sendrecv_t)(int, void*, size_t, int); +typedef ssize_t(*sendrecv_t)(int, void*, size_t, int); #else typedef int (WINAPI *sendrecv_t)(SOCKET, void*, int, int); #endif @@ -57,17 +57,16 @@ int_fast8_t sendrecv(SOCKET sock, BYTE *data, int len, int_fast8_t do_send) { int n; sendrecv_t f = do_send - ? (sendrecv_t) send - : (sendrecv_t) recv; + ? (sendrecv_t)send + : (sendrecv_t)recv; do { - n = f(sock, data, len, 0); - } - while ( - ( n < 0 && socket_errno == VLMCSD_EINTR ) || ( n > 0 && ( data += n, (len -= n) > 0 ) )); + n = f(sock, data, len, 0); + } while ( + (n < 0 && socket_errno == SOCKET_EINTR) || (n > 0 && (data += n, (len -= n) > 0))); - return ! len; + return !len; } @@ -78,15 +77,15 @@ static int_fast8_t ip2str(char *restrict result, const size_t resultLength, cons char ipAddress[64], portNumber[8]; if (getnameinfo - ( - socketAddress, - socketLength, - ipAddress, - sizeof(ipAddress), - portNumber, - sizeof(portNumber), - NI_NUMERICHOST | NI_NUMERICSERV - )) + ( + socketAddress, + socketLength, + ipAddress, + sizeof(ipAddress), + portNumber, + sizeof(portNumber), + NI_NUMERICHOST | NI_NUMERICSERV + )) { return FALSE; } @@ -133,12 +132,12 @@ static int_fast8_t setBlockingEnabled(SOCKET fd, int_fast8_t blocking) { if (fd == INVALID_SOCKET) return FALSE; - #ifdef _WIN32 +#ifdef _WIN32 unsigned long mode = blocking ? 0 : 1; return (ioctlsocket(fd, FIONBIO, &mode) == 0) ? TRUE : FALSE; - #else // POSIX +#else // POSIX int flags = fcntl(fd, F_GETFL, 0); @@ -147,7 +146,7 @@ static int_fast8_t setBlockingEnabled(SOCKET fd, int_fast8_t blocking) flags = blocking ? (flags & ~O_NONBLOCK) : (flags | O_NONBLOCK); return (fcntl(fd, F_SETFL, flags) == 0) ? TRUE : FALSE; - #endif // POSIX +#endif // POSIX } @@ -182,45 +181,45 @@ static int_fast8_t isPrivateIPAddress(struct sockaddr* addr, socklen_t* length) switch (addr->sa_family) { - case AF_INET6: - { - union v6addr* ipv6addr = (union v6addr*)&((struct sockaddr_in6*)addr)->sin6_addr; + case AF_INET6: + { + union v6addr* ipv6addr = (union v6addr*)&((struct sockaddr_in6*)addr)->sin6_addr; - if + if ( - (ipv6addr->qwords[0] != 0 || BE64(ipv6addr->qwords[1]) != 1) && // ::1 IPv6 localhost - (BE16(ipv6addr->words[0]) & 0xe000) == 0x2000 // !2000::/3 - ) - { - return FALSE; - } - - if (length) *length = sizeof(struct sockaddr_in6); - break; + (ipv6addr->qwords[0] != 0 || BE64(ipv6addr->qwords[1]) != 1) && // ::1 IPv6 localhost + (BE16(ipv6addr->words[0]) & 0xe000) == 0x2000 // !2000::/3 + ) + { + return FALSE; } - case AF_INET: - { - uint32_t ipv4addr = BE32(((struct sockaddr_in*)addr)->sin_addr.s_addr); + if (length) *length = sizeof(struct sockaddr_in6); + break; + } - if + case AF_INET: + { + uint32_t ipv4addr = BE32(((struct sockaddr_in*)addr)->sin_addr.s_addr); + + if ( - (ipv4addr & 0xff000000) != 0x7f000000 && // 127.x.x.x localhost + (ipv4addr & 0xff000000) != 0x7f000000 && // 127.x.x.x localhost (ipv4addr & 0xffff0000) != 0xc0a80000 && // 192.168.x.x private routeable (ipv4addr & 0xffff0000) != 0xa9fe0000 && // 169.254.x.x link local (ipv4addr & 0xff000000) != 0x0a000000 && // 10.x.x.x private routeable (ipv4addr & 0xfff00000) != 0xac100000 // 172.16-31.x.x private routeable - ) - { - return FALSE; - } - - if (length) *length = sizeof(struct sockaddr_in); - break; + ) + { + return FALSE; } - default: - return FALSE; + if (length) *length = sizeof(struct sockaddr_in); + break; + } + + default: + return FALSE; } return TRUE; @@ -278,7 +277,7 @@ SOCKET connectToAddress(const char *const addr, const int AddressFamily, int_fas break; } - printerrorf("%s: %s\n", szAddr, socket_errno == VLMCSD_EINPROGRESS ? "Timed out" : vlmcsd_strerror(socket_errno)); + printerrorf("%s: %s\n", szAddr, socket_errno == SOCKET_EINPROGRESS ? "Timed out" : vlmcsd_strerror(socket_errno)); socketclose(s); s = INVALID_SOCKET; @@ -323,47 +322,52 @@ int listenOnAllAddresses() if (!stringToInt(defaultport, 1, 65535, &port_listen)) { printerrorf("Fatal: Port must be numeric between 1 and 65535.\n"); - exit(!0); + exit(VLMCSD_EINVAL); } +# if defined(AF_INET6) && defined(IPV6_V6ONLY) + struct sockaddr_in6 addr; memset(&addr, 0, sizeof(addr)); addr.sin6_family = AF_INET6; addr.sin6_port = BE16((uint16_t)port_listen); addr.sin6_addr = in6addr_any; BOOL v6only = FALSE; - s_server = socket(AF_INET6, SOCK_STREAM, 0); if (s_server == INVALID_SOCKET - || allowSocketReuse(s_server) - || setsockopt(s_server, IPPROTO_IPV6, IPV6_V6ONLY, (sockopt_t)&v6only, sizeof(v6only)) - || bind(s_server, (struct sockaddr *)&addr, sizeof(addr)) - || listen(s_server, SOMAXCONN) ) + || allowSocketReuse(s_server) + || setsockopt(s_server, IPPROTO_IPV6, IPV6_V6ONLY, (sockopt_t)&v6only, sizeof(v6only)) + || bind(s_server, (struct sockaddr *)&addr, sizeof(addr)) + || listen(s_server, SOMAXCONN)) { socketclose(s_server); - struct sockaddr_in addr = { +# endif // defined(AF_INET6) && defined(IPV6_V6ONLY) + struct sockaddr_in addr4 = { .sin_family = AF_INET, - .sin_port = BE16((uint16_t)port_listen), + .sin_port = BE16((uint16_t)port_listen), + .sin_addr.s_addr = BE32(INADDR_ANY) }; - addr.sin_addr.s_addr = BE32(INADDR_ANY); s_server = socket(AF_INET, SOCK_STREAM, 0); - if ( s_server == INVALID_SOCKET - || allowSocketReuse(s_server) - || bind(s_server, (struct sockaddr *)&addr, sizeof(addr)) - || listen(s_server, SOMAXCONN) ) + if (s_server == INVALID_SOCKET + || allowSocketReuse(s_server) + || bind(s_server, (struct sockaddr *)&addr4, sizeof(addr4)) + || listen(s_server, SOMAXCONN)) { int error = socket_errno; printerrorf("Fatal: Cannot bind to TCP port %u: %s\n", port_listen, vlmcsd_strerror(error)); return error; } - } - #ifndef NO_LOG +# if defined(AF_INET6) && defined(IPV6_V6ONLY) + } +# endif // defined(AF_INET6) && defined(IPV6_V6ONLY) + +#ifndef NO_LOG logger("Listening on TCP port %u\n", port_listen); - #endif // NO_LOG +#endif // NO_LOG return 0; } @@ -380,18 +384,18 @@ void getPrivateIPAddresses(int* numAddresses, char*** ipAddresses) PIP_ADAPTER_ADDRESSES firstAdapter, currentAdapter; - DWORD dwRetVal; - ULONG outBufLen = 16384; - ULONG flags = GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME; + DWORD dwRetVal; + ULONG outBufLen = 16384; + ULONG flags = GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME; - firstAdapter = (PIP_ADAPTER_ADDRESSES)vlmcsd_malloc(outBufLen); + firstAdapter = (PIP_ADAPTER_ADDRESSES)vlmcsd_malloc(outBufLen); - if ((dwRetVal = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, firstAdapter, &outBufLen)) == ERROR_BUFFER_OVERFLOW) - { - free(firstAdapter); - firstAdapter = (PIP_ADAPTER_ADDRESSES)vlmcsd_malloc(outBufLen); - dwRetVal = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, firstAdapter, &outBufLen); - } + if ((dwRetVal = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, firstAdapter, &outBufLen)) == ERROR_BUFFER_OVERFLOW) + { + free(firstAdapter); + firstAdapter = (PIP_ADAPTER_ADDRESSES)vlmcsd_malloc(outBufLen); + dwRetVal = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, firstAdapter, &outBufLen); + } if (dwRetVal != NO_ERROR) { @@ -478,12 +482,12 @@ void getPrivateIPAddresses(int* numAddresses, char*** ipAddresses) size_t adrlen = strlen(ipAddress); if - ( - addr->ifa_addr->sa_family == AF_INET6 && - adrlen > 5 && - !strchr(ipAddress, '%') && - (BE16(*(uint16_t*)&((struct sockaddr_in6*)addr->ifa_addr)->sin6_addr) & 0xffc0) == 0xfe80 - ) + ( + addr->ifa_addr->sa_family == AF_INET6 && + adrlen > 5 && + !strchr(ipAddress, '%') && + (BE16(*(uint16_t*)&((struct sockaddr_in6*)addr->ifa_addr)->sin6_addr) & 0xffc0) == 0xfe80 + ) { size_t ifnamelen = strlen(addr->ifa_name); char* workaroundIpAddress = (char*)vlmcsd_malloc(adrlen + ifnamelen + 2); @@ -556,10 +560,10 @@ static int listenOnAddress(const struct addrinfo *const ai, SOCKET *s) { # ifdef _PEDANTIC # if defined(_WIN32) || defined(__CYGWIN__) -// if (IsWindowsVistaOrGreater()) //Doesn't work with older version of MingW32-w64 toolchain - if ((GetVersion() & 0xff) > 5) + // if (IsWindowsVistaOrGreater()) //Doesn't work with older version of MingW32-w64 toolchain + if ((GetVersion() & 0xff) > 5) # endif // _WIN32 - printerrorf("Warning: %s does not support socket option IPV6_V6ONLY: %s\n", ipstr, vlmcsd_strerror(socket_errno)); + printerrorf("Warning: %s does not support socket option IPV6_V6ONLY: %s\n", ipstr, vlmcsd_strerror(socket_errno)); # endif // _PEDANTIC } # endif @@ -645,9 +649,9 @@ BOOL addListeningSocket(const char *const addr) if (numsockets >= FD_SETSIZE) { - #ifdef _PEDANTIC // Do not report this error in normal builds to keep file size low +#ifdef _PEDANTIC // Do not report this error in normal builds to keep file size low printerrorf("Warning: Cannot listen on %s. Your OS only supports %u listening sockets in an FD_SET.\n", addr, FD_SETSIZE); - #endif +#endif break; } @@ -680,39 +684,39 @@ __pure int_fast8_t checkProtocolStack(const int addressfamily) // Build an fd_set of all listening socket then use select to wait for an incoming connection static SOCKET network_accept_any() { - fd_set ListeningSocketsList; - SOCKET maxSocket, sock; - int i; - int status; + fd_set ListeningSocketsList; + SOCKET maxSocket, sock; + int i; + int status; - FD_ZERO(&ListeningSocketsList); - maxSocket = 0; + FD_ZERO(&ListeningSocketsList); + maxSocket = 0; - for (i = 0; i < numsockets; i++) - { - FD_SET(SocketList[i], &ListeningSocketsList); - if (SocketList[i] > maxSocket) maxSocket = SocketList[i]; - } + for (i = 0; i < numsockets; i++) + { + FD_SET(SocketList[i], &ListeningSocketsList); + if (SocketList[i] > maxSocket) maxSocket = SocketList[i]; + } - status = select((int)maxSocket + 1, &ListeningSocketsList, NULL, NULL, NULL); + status = select((int)maxSocket + 1, &ListeningSocketsList, NULL, NULL, NULL); - if (status < 0) return INVALID_SOCKET; + if (status < 0) return INVALID_SOCKET; - sock = INVALID_SOCKET; + sock = INVALID_SOCKET; - for (i = 0; i < numsockets; i++) - { - if (FD_ISSET(SocketList[i], &ListeningSocketsList)) - { - sock = SocketList[i]; - break; - } - } + for (i = 0; i < numsockets; i++) + { + if (FD_ISSET(SocketList[i], &ListeningSocketsList)) + { + sock = SocketList[i]; + break; + } + } - if (sock == INVALID_SOCKET) - return INVALID_SOCKET; - else - return accept(sock, NULL, NULL); + if (sock == INVALID_SOCKET) + return INVALID_SOCKET; + else + return accept(sock, NULL, NULL); } #endif // !SIMPLE_SOCKETS @@ -734,7 +738,7 @@ void closeAllListeningSockets() socketclose(SocketList[i]); } - #endif // !SIMPLE_SOCKETS +#endif // !SIMPLE_SOCKETS } #endif // NO_SOCKETS @@ -749,7 +753,7 @@ static void serveClient(const SOCKET s_client, const DWORD RpcAssocGroup) to.tv_sec = ServerTimeout; to.tv_usec = 0; - #else // Windows requires a DWORD with milliseconds +#else // Windows requires a DWORD with milliseconds DWORD to = ServerTimeout * 1000; @@ -761,11 +765,11 @@ static void serveClient(const SOCKET s_client, const DWORD RpcAssocGroup) setsockopt(s_client, SOL_SOCKET, SO_RCVTIMEO, (sockopt_t)&to, sizeof(to)) || setsockopt(s_client, SOL_SOCKET, SO_SNDTIMEO, (sockopt_t)&to, sizeof(to)); - if (result) logger("Warning: Set timeout failed: %s\n", vlmcsd_strerror(socket_errno)); + if (result) logger("Warning: Set timeout failed: %s\n", vlmcsd_strerror(socket_errno)); # else // !(!defined(NO_LOG) && defined(_PEDANTIC)) - setsockopt(s_client, SOL_SOCKET, SO_RCVTIMEO, (sockopt_t)&to, sizeof(to)); + setsockopt(s_client, SOL_SOCKET, SO_RCVTIMEO, (sockopt_t)&to, sizeof(to)); setsockopt(s_client, SOL_SOCKET, SO_SNDTIMEO, (sockopt_t)&to, sizeof(to)); # endif // !(!defined(NO_LOG) && defined(_PEDANTIC)) @@ -796,7 +800,7 @@ static void serveClient(const SOCKET s_client, const DWORD RpcAssocGroup) static const char *const fIP = "%s connection %s: %s.\n"; logger(fIP, connection_type, cAccepted, ipstr); - #endif // NO_LOG +#endif // NO_LOG # if !defined(NO_PRIVATE_IP_DETECT) @@ -828,23 +832,23 @@ static void serveClient(const SOCKET s_client, const DWORD RpcAssocGroup) #ifndef NO_SOCKETS static void post_sem(void) { - #if !defined(NO_LIMIT) && !__minix__ +#if !defined(NO_LIMIT) && !__minix__ if (!InetdMode && MaxTasks != SEM_VALUE_MAX) { semaphore_post(Semaphore); } - #endif // !defined(NO_LIMIT) && !__minix__ +#endif // !defined(NO_LIMIT) && !__minix__ } static void wait_sem(void) { - #if !defined(NO_LIMIT) && !__minix__ +#if !defined(NO_LIMIT) && !__minix__ if (!InetdMode && MaxTasks != SEM_VALUE_MAX) { semaphore_wait(Semaphore); } - #endif // !defined(NO_LIMIT) && !__minix__ +#endif // !defined(NO_LIMIT) && !__minix__ } #endif // NO_SOCKETS @@ -853,7 +857,7 @@ static void wait_sem(void) #if defined(_WIN32) || defined(__CYGWIN__) // Win32 Threads static DWORD WINAPI serveClientThreadProc(PCLDATA clData) #else // Posix threads -static void *serveClientThreadProc (PCLDATA clData) +static void *serveClientThreadProc(PCLDATA clData) #endif // Thread proc is identical in WIN32 and Posix threads { serveClient(clData->socket, clData->RpcAssocGroup); @@ -896,18 +900,19 @@ static int ServeClientAsyncPosixThreads(const PCLDATA thr_CLData) { pthread_t p_thr; pthread_attr_t attr; + int error; wait_sem(); // Must set detached state to avoid memory leak - if (pthread_attr_init(&attr) || - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED) || - pthread_create(&p_thr, &attr, (void * (*)(void *))serveClientThreadProc, thr_CLData)) + if ((error = pthread_attr_init(&attr)) || + (error = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED)) || + (error = pthread_create(&p_thr, &attr, (void * (*)(void *))serveClientThreadProc, thr_CLData))) { socketclose(thr_CLData->socket); free(thr_CLData); post_sem(); - return !0; + return error; } return 0; @@ -921,11 +926,11 @@ static void ChildSignalHandler(const int signal) post_sem(); - #ifndef NO_LOG +#ifndef NO_LOG logger("Warning: Child killed/crashed by %s\n", strsignal(signal)); - #endif // NO_LOG +#endif // NO_LOG - exit(!0); + exit(ECHILD); } static int ServeClientAsyncFork(const SOCKET s_client, const DWORD RpcAssocGroup) @@ -937,7 +942,7 @@ static int ServeClientAsyncFork(const SOCKET s_client, const DWORD RpcAssocGroup { return errno; } - else if ( pid ) + else if (pid) { // Parent process socketclose(s_client); @@ -950,7 +955,7 @@ static int ServeClientAsyncFork(const SOCKET s_client, const DWORD RpcAssocGroup // Setup a Child Handler for most common termination signals struct sigaction sa; - sa.sa_flags = 0; + sa.sa_flags = 0; sa.sa_handler = ChildSignalHandler; static int signallist[] = { SIGHUP, SIGINT, SIGTERM, SIGSEGV, SIGILL, SIGFPE, SIGBUS }; @@ -975,27 +980,27 @@ static int ServeClientAsyncFork(const SOCKET s_client, const DWORD RpcAssocGroup int serveClientAsync(const SOCKET s_client, const DWORD RpcAssocGroup) { - #ifndef USE_THREADS // fork() implementation +#ifndef USE_THREADS // fork() implementation return ServeClientAsyncFork(s_client, RpcAssocGroup); - #else // threads implementation +#else // threads implementation PCLDATA thr_CLData = (PCLDATA)vlmcsd_malloc(sizeof(CLDATA)); thr_CLData->socket = s_client; thr_CLData->RpcAssocGroup = RpcAssocGroup; - #if defined(_WIN32) || defined (__CYGWIN__) // Windows threads +#if defined(_WIN32) || defined (__CYGWIN__) // Windows threads return serveClientAsyncWinThreads(thr_CLData); - #else // Posix Threads +#else // Posix Threads return ServeClientAsyncPosixThreads(thr_CLData); - #endif // Posix Threads +#endif // Posix Threads - #endif // USE_THREADS +#endif // USE_THREADS } #endif // NO_SOCKETS @@ -1006,11 +1011,11 @@ int runServer() DWORD RpcAssocGroup = rand32(); // If compiled for inetd-only mode just serve the stdin socket - #ifdef NO_SOCKETS +#ifdef NO_SOCKETS serveClient(STDIN_FILENO, RpcAssocGroup); return 0; - #else - // In inetd mode just handle the stdin socket +#else +// In inetd mode just handle the stdin socket if (InetdMode) { serveClient(STDIN_FILENO, RpcAssocGroup); @@ -1022,31 +1027,42 @@ int runServer() int error; SOCKET s_client; - #ifdef SIMPLE_SOCKETS - if ( (s_client = accept(s_server, NULL, NULL)) == INVALID_SOCKET ) - #else // Standalone mode fully featured sockets - if ( (s_client = network_accept_any()) == INVALID_SOCKET ) - #endif // Standalone mode fully featured sockets +# ifdef SIMPLE_SOCKETS + if ((s_client = accept(s_server, NULL, NULL)) == INVALID_SOCKET) +# else // Standalone mode fully featured sockets + if ((s_client = network_accept_any()) == INVALID_SOCKET) +# endif // Standalone mode fully featured sockets { error = socket_errno; + if (error == SOCKET_EINTR || error == SOCKET_ECONNABORTED) continue; - if (error == VLMCSD_EINTR || error == VLMCSD_ECONNABORTED) continue; - - #ifdef _NTSERVICE +# ifdef _NTSERVICE if (ServiceShutdown) return 0; - #endif +# endif - #ifndef NO_LOG - logger("Fatal: %s\n",vlmcsd_strerror(error)); - #endif +# ifndef NO_LOG + logger("Fatal: %s\n", vlmcsd_strerror(error)); +# endif return error; } RpcAssocGroup++; + +# if !defined(NO_LOG) && defined(_PEDANTIC) + if ((error = serveClientAsync(s_client, RpcAssocGroup))) + { +# ifdef USE_THREADS + logger("Warning: Could not create client thread: %s\n", vlmcsd_strerror(error)); +# else // !USE_THREADS + logger("Warning: Could not fork client: %s\n", vlmcsd_strerror(error)); +# endif // !USE_THREADS + } +# else // NO_LOG || !_PEDANTIC serveClientAsync(s_client, RpcAssocGroup); +# endif // NO_LOG || !_PEDANTIC } - #endif // NO_SOCKETS +# endif // NO_SOCKETS } #endif // USE_MSRPC diff --git a/src/output.c b/src/output.c index 03c6247..0050fb5 100644 --- a/src/output.c +++ b/src/output.c @@ -154,12 +154,12 @@ int errorout(const char* fmt, ...) } -#ifndef NO_VERBOSE_LOG +#if !defined(NO_VERBOSE_LOG) && !defined(NO_LOG) static const char *LicenseStatusText[] = { "Unlicensed", "Licensed", "OOB grace", "OOT grace", "Non-Genuine", "Notification", "Extended grace" }; -#endif // NO_VERBOSE_LOG +#endif // !defined(NO_VERBOSE_LOG) && !defined(NO_LOG) void uuid2StringLE(const GUID *const guid, char *const string) @@ -192,13 +192,13 @@ void logRequestVerbose(const REQUEST *const Request, const PRINTFUNC p) p("Remaining time (0 = forever) : %i minutes\n", (uint32_t)LE32(Request->BindingExpiration)); uuid2StringLE(&Request->AppID, guidBuffer); - productName = getProductNameLE(&Request->AppID, AppList, &index); + productName = getProductNameLE(&Request->AppID, AppList, getAppListSize(), &index); p("Application ID : %s (%s)\n", guidBuffer, productName); uuid2StringLE(&Request->ActID, guidBuffer); # ifndef NO_EXTENDED_PRODUCT_LIST - productName = getProductNameLE(&Request->ActID, ExtendedProductList, &index); + productName = getProductNameLE(&Request->ActID, ExtendedProductList, getExtendedProductListSize(), &index); # else productName = "Unknown"; # endif @@ -206,7 +206,7 @@ void logRequestVerbose(const REQUEST *const Request, const PRINTFUNC p) p("SKU ID (aka Activation ID) : %s (%s)\n", guidBuffer, productName); uuid2StringLE(&Request->KMSID, guidBuffer); - productName = getProductNameLE(&Request->KMSID, ProductList, &index); + productName = getProductNameLE(&Request->KMSID, ProductList, getProductListSize(), &index); p("KMS ID (aka KMS counted ID) : %s (%s)\n", guidBuffer, productName); uuid2StringLE(&Request->CMID, guidBuffer); @@ -578,6 +578,10 @@ void printServerFlags() " NO_HELP" # endif // NO_HELP +# ifdef NO_STRICT_MODES + " NO_STRICT_MODES" +# endif // NO_STRICT_MODES + # ifdef NO_CUSTOM_INTERVALS " NO_CUSTOM_INTERVALS" # endif // NO_CUSTOM_INTERVALS @@ -618,6 +622,14 @@ void printServerFlags() " SIMPLE_SOCKETS" # endif // !defined(NO_SOCKETS) && defined(SIMPLE_SOCKETS) +# ifdef SIMPLE_RPC + " SIMPLE_RPC" +# endif // SIMPLE_RPC + +# ifdef NO_STRICT_MODES + " NO_STRICT_MODES" +# endif // NO_STRICT_MODES + # if (_WIN32 || __CYGWIN__) && (!defined(USE_MSRPC) || defined(SUPPORT_WINE)) " SUPPORT_WINE" # endif // (_WIN32 || __CYGWIN__) && (!defined(USE_MSRPC) || defined(SUPPORT_WINE)) diff --git a/src/rpc.c b/src/rpc.c index 3f481a4..71ee473 100644 --- a/src/rpc.c +++ b/src/rpc.c @@ -43,6 +43,7 @@ static const BYTE InterfaceUuid[] = { 0x75, 0x21, 0xc8, 0x51, 0x4e, 0x84, 0x50, 0x47, 0xB0, 0xD8, 0xEC, 0x25, 0x55, 0x55, 0xBC, 0x06 }; +//#ifndef SIMPLE_RPC static const BYTE TransferSyntaxNDR64[] = { 0x33, 0x05, 0x71, 0x71, 0xba, 0xbe, 0x37, 0x49, 0x83, 0x19, 0xb5, 0xdb, 0xef, 0x9c, 0xcc, 0x36 }; @@ -50,7 +51,7 @@ static const BYTE TransferSyntaxNDR64[] = { static const BYTE BindTimeFeatureNegotiation[] = { 0x2c, 0x1c, 0xb7, 0x6c, 0x12, 0x98, 0x40, 0x45, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - +//#endif // SIMPLE_RPC // // Dispatch RPC payload to kms.c @@ -181,6 +182,8 @@ static unsigned int checkRpcRequestSize(const RPC_REQUEST64 *const Request, cons uint16_t majorIndex, minor; DWORD version; +# ifndef SIMPLE_RPC + if (Ctx != *Ndr64Ctx) { version = LE32(*(DWORD*)Request->Ndr.Data); @@ -190,6 +193,12 @@ static unsigned int checkRpcRequestSize(const RPC_REQUEST64 *const Request, cons version = LE32(*(DWORD*)Request->Ndr64.Data); } +# else // SIMPLE_RPC + + version = LE32(*(DWORD*)Request->Ndr.Data); + +# endif // SIMPLE_RPC + majorIndex = (uint16_t)(version >> 16) - 4; minor = (uint16_t)(version & 0xffff); @@ -218,12 +227,15 @@ static unsigned int checkRpcRequestSize(const RPC_REQUEST64 *const Request, cons static int rpcRequest(const RPC_REQUEST64 *const Request, RPC_RESPONSE64 *const Response, const DWORD RpcAssocGroup_unused, const SOCKET sock_unused, WORD* NdrCtx, WORD* Ndr64Ctx, BYTE isValid, const char* const ipstr) { int ResponseSize; // <0 = Errorcode (HRESULT) - WORD Ctx = LE16(Request->ContextId); BYTE* requestData; BYTE* responseData; BYTE* pRpcReturnCode; int len; +# ifndef SIMPLE_RPC + + WORD Ctx = LE16(Request->ContextId); + if (Ctx != *Ndr64Ctx) { requestData = (BYTE*)&Request->Ndr.Data; @@ -235,6 +247,13 @@ static int rpcRequest(const RPC_REQUEST64 *const Request, RPC_RESPONSE64 *const responseData = (BYTE*)&Response->Ndr64.Data; } +# else // SIMPLE_RPC + + requestData = (BYTE*)&Request->Ndr.Data; + responseData = (BYTE*)&Response->Ndr.Data; + +# endif // SIMPLE_RPC + ResponseSize = 0x8007000D; // Invalid Data if (isValid) @@ -243,8 +262,12 @@ static int rpcRequest(const RPC_REQUEST64 *const Request, RPC_RESPONSE64 *const if (!((ResponseSize = _Versions[majorIndex].CreateResponse(requestData, responseData, ipstr)))) ResponseSize = 0x8007000D; } +# ifndef SIMPLE_RPC + if (Ctx != *Ndr64Ctx) { + +# endif // !SIMPLE_RPC if (ResponseSize < 0) { Response->Ndr.DataSizeMax = Response->Ndr.DataLength = 0; @@ -256,6 +279,9 @@ static int rpcRequest(const RPC_REQUEST64 *const Request, RPC_RESPONSE64 *const Response->Ndr.DataLength = Response->Ndr.DataSizeIs = LE32(ResponseSize); len = ResponseSize + sizeof(Response->Ndr); } + +# ifndef SIMPLE_RPC + } else { @@ -272,6 +298,8 @@ static int rpcRequest(const RPC_REQUEST64 *const Request, RPC_RESPONSE64 *const } } +# endif // !SIMPLE_RPC + pRpcReturnCode = ((BYTE*)&Response->Ndr) + len; UA32(pRpcReturnCode) = ResponseSize < 0 ? LE32(ResponseSize) : 0; len += sizeof(DWORD); @@ -417,7 +445,9 @@ static int rpcBind(const RPC_BIND_REQUEST *const Request, RPC_BIND_RESPONSE* Res Response->NumResults = Request->NumCtxItems; - if (UseRpcNDR64) +# ifndef SIMPLE_RPC + + if (UseServerRpcNDR64) { for (i = 0; i < numCtxItems; i++) { @@ -437,6 +467,8 @@ static int rpcBind(const RPC_BIND_REQUEST *const Request, RPC_BIND_RESPONSE* Res } } +# endif // !SIMPLE_RPC + for (i = 0; i < numCtxItems; i++) { memset(&Response->Results[i].TransferSyntax, 0, sizeof(GUID)); @@ -450,6 +482,9 @@ static int rpcBind(const RPC_BIND_REQUEST *const Request, RPC_BIND_RESPONSE* Res _st = TRUE; } + +# ifndef SIMPLE_RPC + else if (IsNDR64possible && IsEqualGUID((GUID*)TransferSyntaxNDR64, &Request->CtxItems[i].TransferSyntax)) { Response->Results[i].SyntaxVersion = LE32(1); @@ -459,7 +494,7 @@ static int rpcBind(const RPC_BIND_REQUEST *const Request, RPC_BIND_RESPONSE* Res _st = TRUE; } - else if (UseRpcBTFN && !memcmp(BindTimeFeatureNegotiation, (BYTE*)(&Request->CtxItems[i].TransferSyntax), 8)) + else if (UseServerRpcBTFN && !memcmp(BindTimeFeatureNegotiation, (BYTE*)(&Request->CtxItems[i].TransferSyntax), 8)) { Response->Results[i].SyntaxVersion = 0; Response->Results[i].AckResult = RPC_BIND_ACK; @@ -469,6 +504,9 @@ static int rpcBind(const RPC_BIND_REQUEST *const Request, RPC_BIND_RESPONSE* Res ((WORD*)(&Request->CtxItems[i].TransferSyntax))[4] & (RPC_BTFN_SEC_CONTEXT_MULTIPLEX | RPC_BTFN_KEEP_ORPHAN); } + +# endif // !SIMPLE_RPC + else { Response->Results[i].SyntaxVersion = 0; @@ -705,7 +743,7 @@ RpcStatus rpcSendRequest(const RpcCtx sock, const BYTE *const KmsRequest, const RPC_REQUEST64 *RpcRequest; RPC_RESPONSE64 _Response; int status; - int_fast8_t useNdr64 = UseRpcNDR64 && firstPacketSent; + int_fast8_t useNdr64 = UseClientRpcNDR64 && firstPacketSent; size_t size = sizeof(RPC_HEADER) + (useNdr64 ? sizeof(RPC_REQUEST64) : sizeof(RPC_REQUEST)) + requestSize; size_t responseSize2; @@ -901,7 +939,7 @@ RpcStatus rpcBindOrAlterClientContext(const RpcCtx sock, BYTE packetType, const RPC_BIND_REQUEST *bindRequest; RPC_BIND_RESPONSE *bindResponse; int status; - WORD ctxItems = 1 + (packetType == RPC_PT_BIND_REQ ? UseRpcNDR64 + UseRpcBTFN : 0); + WORD ctxItems = 1 + (packetType == RPC_PT_BIND_REQ ? UseClientRpcNDR64 + UseClientRpcBTFN : 0); size_t rpcBindSize = (sizeof(RPC_HEADER) + sizeof(RPC_BIND_REQUEST) + (ctxItems - 1) * sizeof(bindRequest->CtxItems[0])); WORD ctxIndex = 0; WORD i; @@ -932,13 +970,13 @@ RpcStatus rpcBindOrAlterClientContext(const RpcCtx sock, BYTE packetType, const memcpy(&bindRequest->CtxItems[0].TransferSyntax, TransferSyntaxNDR32, sizeof(GUID)); - if (UseRpcNDR64 && packetType == RPC_PT_BIND_REQ) + if (UseClientRpcNDR64 && packetType == RPC_PT_BIND_REQ) { memcpy(&bindRequest->CtxItems[++ctxIndex].TransferSyntax, TransferSyntaxNDR64, sizeof(GUID)); CtxNDR64 = ctxIndex; } - if (UseRpcBTFN && packetType == RPC_PT_BIND_REQ) + if (UseClientRpcBTFN && packetType == RPC_PT_BIND_REQ) { memcpy(&bindRequest->CtxItems[++ctxIndex].TransferSyntax, BindTimeFeatureNegotiation, sizeof(GUID)); CtxBTFN = ctxIndex; @@ -1124,7 +1162,7 @@ RpcStatus rpcBindOrAlterClientContext(const RpcCtx sock, BYTE packetType, const return status; } -RpcStatus rpcBindClient(const RpcCtx sock, const int_fast8_t verbose) +RpcStatus rpcBindClient(const RpcCtx sock, const int_fast8_t verbose, PRpcDiag_t rpcDiag) { firstPacketSent = FALSE; RpcFlags.mask = 0; @@ -1132,11 +1170,15 @@ RpcStatus rpcBindClient(const RpcCtx sock, const int_fast8_t verbose) RpcStatus status = rpcBindOrAlterClientContext(sock, RPC_PT_BIND_REQ, verbose); - if (status) return status; + if (status) goto end; if (!RpcFlags.HasNDR32) status = rpcBindOrAlterClientContext(sock, RPC_PT_ALTERCONTEXT_REQ, verbose); +end: + rpcDiag->HasRpcDiag = TRUE; + rpcDiag->HasNDR64 = !!RpcFlags.HasNDR64; + rpcDiag->HasBTFN = !!RpcFlags.HasBTFN; return status; } diff --git a/src/rpc.h b/src/rpc.h index 301e560..544b8c2 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -7,6 +7,7 @@ #include CONFIG #include "types.h" +#include "shared_globals.h" #if !defined(_WIN32) && !defined(__CYGWIN__) #define RPC_S_OK 0 @@ -306,7 +307,7 @@ typedef union _RPC_FLAGS extern RPC_FLAGS RpcFlags; void rpcServer(const SOCKET sock, const DWORD RpcAssocGroup, const char* const ipstr); -RpcStatus rpcBindClient(const RpcCtx sock, const int_fast8_t verbose); +RpcStatus rpcBindClient(const RpcCtx sock, const int_fast8_t verbose, PRpcDiag_t rpcDiag); RpcStatus rpcSendRequest(const RpcCtx socket, const BYTE *const KmsRequest, const size_t requestSize, BYTE **KmsResponse, size_t *const responseSize); #endif // __rpc_h diff --git a/src/shared_globals.c b/src/shared_globals.c index 0487791..615c1de 100644 --- a/src/shared_globals.c +++ b/src/shared_globals.c @@ -18,14 +18,23 @@ const char *const cIPv6 = "IPv6"; char ErrorMessage[MESSAGE_BUFFER_SIZE]; #endif // IS_LIBRARY +#ifndef NO_STRICT_MODES +uint32_t WhitelistingLevel = 0; +int_fast8_t CheckClientTime = FALSE; +#endif // !NO_STRICT_MODES + #ifndef USE_MSRPC int_fast8_t UseMultiplexedRpc = TRUE; -int_fast8_t UseRpcNDR64 = TRUE; -int_fast8_t UseRpcBTFN = TRUE; +#ifndef SIMPLE_RPC +int_fast8_t UseServerRpcNDR64 = TRUE; +int_fast8_t UseServerRpcBTFN = TRUE; +#endif // !SIMPLE_RPC +int_fast8_t UseClientRpcNDR64 = TRUE; +int_fast8_t UseClientRpcBTFN = TRUE; #endif // USE_MSRPC #ifndef NO_SOCKETS -const char *defaultport = "1688"; +char *defaultport = "1688"; #endif // NO_SOCKETS #if !defined(NO_PRIVATE_IP_DETECT) diff --git a/src/shared_globals.h b/src/shared_globals.h index 72b0093..4f1709c 100644 --- a/src/shared_globals.h +++ b/src/shared_globals.h @@ -57,6 +57,13 @@ typedef struct #endif // NO_LOG } KmsResponseParam_t, *PKmsResponseParam_t; +typedef struct +{ + int8_t HasRpcDiag; + int8_t HasBTFN; + int8_t HasNDR64; +} RpcDiag_t, *PRpcDiag_t; + #if !defined(NO_LIMIT) && !__minix__ #ifndef SEM_VALUE_MAX // Android does not define this #ifdef __ANDROID__ @@ -94,14 +101,24 @@ extern const char *const cIPv4; extern const char *const cIPv6; extern int_fast8_t InetdMode; +#ifndef NO_STRICT_MODES +extern uint32_t WhitelistingLevel; +extern int_fast8_t CheckClientTime; +#endif // !NO_STRICT_MODES + + #ifndef USE_MSRPC extern int_fast8_t UseMultiplexedRpc; -extern int_fast8_t UseRpcNDR64; -extern int_fast8_t UseRpcBTFN; +#ifndef SIMPLE_RPC +extern int_fast8_t UseServerRpcNDR64; +extern int_fast8_t UseServerRpcBTFN; +#endif // !SIMPLE_RPC +extern int_fast8_t UseClientRpcNDR64; +extern int_fast8_t UseClientRpcBTFN; #endif // USE_MSRPC #ifndef NO_SOCKETS -extern const char *defaultport; +extern char *defaultport; #endif // NO_SOCKETS #if !defined(NO_PRIVATE_IP_DETECT) diff --git a/src/types.h b/src/types.h index fb92b51..46ec2d6 100644 --- a/src/types.h +++ b/src/types.h @@ -61,7 +61,11 @@ #if !defined(NO_GETIFADDRS) && !defined(USE_MSRPC) && !defined(SIMPLE_SOCKETS) && !defined(NO_SOCKETS) && !defined(NO_PRIVATE_IP_DETECT) #define HAVE_GETIFADDR 1 -#endif +#endif + +#if !defined(NO_STRICT_MODES) && defined(NO_BASIC_PRODUCT_LIST) +#define NO_STRICT_MODES +#endif // !defined(NO_STRICT_MODES) && defined(NO_BASIC_PRODUCT_LIST) #ifndef alloca #ifdef __GNUC__ @@ -213,17 +217,27 @@ typedef uint8_t ProdListIndex_t; //#include typedef char* sockopt_t; -// Map VLMCSD error codes to WSAGetLastError() codes +/* Unknown Winsock error codes */ +#define WSAENODEV -1 + +// Map VLMCSD error codes to WSAGetLastError() and GetLastError() codes // Add more if you need them -#define VLMCSD_EADDRINUSE WSAEADDRINUSE -#define VLMCSD_ENODEV WSAENODEV -#define VLMCSD_EADDRNOTAVAIL WSAEADDRNOTAVAIL -#define VLMCSD_EACCES WSAEACCES -#define VLMCSD_EINVAL WSAEINVAL -#define VLMCSD_ENOTSOCK WSAENOTSOCK -#define VLMCSD_EINTR WSAEINTR -#define VLMCSD_EINPROGRESS WSAEINPROGRESS -#define VLMCSD_ECONNABORTED WSAECONNABORTED +#define SOCKET_EADDRINUSE WSAEADDRINUSE +#define SOCKET_ENODEV WSAENODEV +#define SOCKET_EADDRNOTAVAIL WSAEADDRNOTAVAIL +#define SOCKET_EACCES WSAEACCES +#define SOCKET_EINVAL WSAEINVAL +#define SOCKET_ENOTSOCK WSAENOTSOCK +#define SOCKET_EINTR WSAEINTR +#define SOCKET_EINPROGRESS WSAEINPROGRESS +#define SOCKET_ECONNABORTED WSAECONNABORTED +#define SOCKET_EALREADY WSAEALREADY + +#define VLMCSD_EACCES ERROR_ACCESS_DENIED +#define VLMCSD_EINVAL ERROR_INVALID_PARAMETER +#define VLMCSD_ENOMEM ERROR_OUTOFMEMORY +#define VLMCSD_EPERM ERROR_CAN_NOT_COMPLETE + #define socket_errno WSAGetLastError() #define socketclose(x) (closesocket(x)) @@ -232,9 +246,6 @@ typedef char* sockopt_t; #define VLMCSD_SHUT_WR SD_SEND #define VLMCSD_SHUT_RDWR SD_BOTH -/* Unknown Winsock error codes */ -#define WSAENODEV -1 - #elif defined(__CYGWIN__) #include @@ -250,7 +261,12 @@ typedef uint32_t DWORD; typedef uint16_t WORD; typedef uint8_t BYTE; typedef uint16_t WCHAR; -typedef int BOOL; +typedef int32_t BOOL; +typedef int32_t HRESULT; +#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0) +#define FAILED(hr) (((HRESULT)(hr)) < 0) +#define S_OK ((HRESULT)0) + #define FALSE 0 #define TRUE !0 @@ -272,15 +288,22 @@ typedef struct { #ifndef _WIN32 // Map VLMCSD error codes to POSIX codes // Add more if you need them -#define VLMCSD_EADDRINUSE EADDRINUSE -#define VLMCSD_ENODEV ENODEV -#define VLMCSD_EADDRNOTAVAIL EADDRNOTAVAIL +#define SOCKET_EADDRINUSE EADDRINUSE +#define SOCKET_ENODEV ENODEV +#define SOCKET_EADDRNOTAVAIL EADDRNOTAVAIL +#define SOCKET_EACCES EACCES +#define SOCKET_EINVAL EINVAL +#define SOCKET_ENOTSOCK ENOTSOCK +#define SOCKET_EINTR EINTR +#define SOCKET_EINPROGRESS EINPROGRESS +#define SOCKET_ECONNABORTED ECONNABORTED +#define SOCKET_EALREADY EALREADY + #define VLMCSD_EACCES EACCES #define VLMCSD_EINVAL EINVAL -#define VLMCSD_ENOTSOCK ENOTSOCK #define VLMCSD_EINTR EINTR -#define VLMCSD_EINPROGRESS EINPROGRESS -#define VLMCSD_ECONNABORTED ECONNABORTED +#define VLMCSD_ENOMEM ENOMEM +#define VLMCSD_EPERM EPERM typedef void* sockopt_t; #define _countof(x) ( sizeof(x) / sizeof(x[0]) ) diff --git a/vlmcs-linux-remote.vcxproj b/src/vlmcs-linux-remote.vcxproj similarity index 75% rename from vlmcs-linux-remote.vcxproj rename to src/vlmcs-linux-remote.vcxproj index 77804ff..73f7b7f 100644 --- a/vlmcs-linux-remote.vcxproj +++ b/src/vlmcs-linux-remote.vcxproj @@ -29,39 +29,39 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + {1ED83566-8AE1-4EE8-9B62-37188A7AC7CA} @@ -104,39 +104,37 @@ gcc - $(ProjectDir)VisualStudio-Linux-Remote\bin\$(Platform)\$(Configuration)\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcs\obj\$(Platform)\$(Configuration)\ gcc - $(IncludePath);$(ISenseIncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(IncludePath);$(ISenseIncludePath);$(ProjectDir)VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(ProjectDir)vlmcs\obj\$(Platform)\$(Configuration)\ vlmcs-x64-glibc gcc - $(IncludePath);$(ISenseIncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include - $(ProjectDir)bin\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcs\obj\$(Platform)\$(Configuration)\ + $(IncludePath);$(ISenseIncludePath);$(ProjectDir)VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(SolutionDir)bin\ gcc + $(ProjectDir)vlmcs\obj\$(Platform)\$(Configuration)\ - $(IncludePath);$(ISenseIncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(IncludePath);$(ISenseIncludePath);$(ProjectDir)VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include vlmcs gcc - $(ProjectDir)VisualStudio-Linux-Remote\bin\$(Platform)\$(Configuration)\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcs\obj\$(Platform)\$(Configuration)\ gcc + $(ProjectDir)vlmcs\obj\$(Platform)\$(Configuration)\ vlmcs-x86-glibc gcc - $(IncludePath);$(ISenseIncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include - $(ProjectDir)bin\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcs\obj\$(Platform)\$(Configuration)\ + $(IncludePath);$(ISenseIncludePath);$(ProjectDir)VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(SolutionDir)bin\ gcc + $(ProjectDir)vlmcs\obj\$(Platform)\$(Configuration)\ @@ -176,6 +174,7 @@ c99 c++98 -Wno-sign-conversion -Wno-conversion -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants -ffunction-sections -fdata-sections -pipe -std=gnu89 -m64 %(AdditionalOptions) + None resolv;pthread;%(LibraryDependencies) @@ -223,6 +222,7 @@ c99 c++98 -Wno-sign-conversion -Wno-conversion -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants -ffunction-sections -fdata-sections -pipe -std=gnu89 -m32 %(AdditionalOptions) + None resolv;pthread;%(LibraryDependencies) diff --git a/vlmcs-linux-remote.vcxproj.filters b/src/vlmcs-linux-remote.vcxproj.filters similarity index 60% rename from vlmcs-linux-remote.vcxproj.filters rename to src/vlmcs-linux-remote.vcxproj.filters index c4a0706..e9f1543 100644 --- a/vlmcs-linux-remote.vcxproj.filters +++ b/src/vlmcs-linux-remote.vcxproj.filters @@ -9,99 +9,99 @@ - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files diff --git a/src/vlmcs.c b/src/vlmcs.c index 2db1082..963a02a 100644 --- a/src/vlmcs.c +++ b/src/vlmcs.c @@ -165,7 +165,7 @@ static void string2UuidOrExit(const char *const restrict input, GUID *const rest if (strlen(input) != GUID_STRING_LENGTH || !string2Uuid(input, guid)) { errorout("Fatal: Command line contains an invalid GUID.\n"); - exit(!0); + exit(VLMCSD_EINVAL); } } @@ -236,7 +236,7 @@ __noreturn static void clientUsage(const char* const programName) Version, programName, programName ); - exit(!0); + exit(VLMCSD_EINVAL); } __pure static int getLineWidth(void) @@ -316,7 +316,8 @@ __noreturn static void showProducts(PRINTFUNC p) p("You may also use these product names or numbers:\n\n"); - for (currentProduct = ExtendedProductList; currentProduct->name; currentProduct++) + + for (currentProduct = ExtendedProductList; currentProduct - ExtendedProductList < getExtendedProductListSize() - 1; currentProduct++) { uint_fast8_t len = (uint_fast8_t)strlen(currentProduct->name); @@ -387,7 +388,7 @@ static void parseProtocolVersion(void) if (!period) { errorout("Fatal: Protocol version must be in the format #.#\n"); - exit(!0); + exit(VLMCSD_EINVAL); } long major = strtol(optarg, &endptr_major, 10); @@ -396,13 +397,13 @@ static void parseProtocolVersion(void) if ((*endptr_major && *endptr_major != '.') || *endptr_minor || *optarg == '.' || !period[1]) { errorout("Fatal: Protocol version must be in the format #.#\n"); - exit(!0); + exit(VLMCSD_EINVAL); } if (major < 0 || major > 0xffff || minor < 0 || minor > 0xffff) { errorout("Fatal: Major and minor protocol version number must be between 0 and 65535\n"); - exit(!0); + exit(VLMCSD_EINVAL); } ActiveLicensePack.kmsVersionMajor = (int)major; @@ -416,7 +417,7 @@ static void parseProtocolVersion(void) __noreturn static void clientUsage(const char* const programName) { errorout("Incorrect parameter specified.\n"); - exit(!0); + exit(VLMCSD_EINVAL); } @@ -546,11 +547,11 @@ static void parseCommandLinePass2(const char *const programName, const int argc, # ifndef USE_MSRPC case 'N': - if (!getArgumentBool(&UseRpcNDR64, optarg)) clientUsage(programName); + if (!getArgumentBool(&UseClientRpcNDR64, optarg)) clientUsage(programName); break; case 'B': - if (!getArgumentBool(&UseRpcBTFN, optarg)) clientUsage(programName); + if (!getArgumentBool(&UseClientRpcBTFN, optarg)) clientUsage(programName); break; case 'i': @@ -565,7 +566,7 @@ static void parseCommandLinePass2(const char *const programName, const int argc, break; default: errorout("IPv5 does not exist.\n"); - exit(!0); + exit(VLMCSD_EINVAL); break; } @@ -731,11 +732,11 @@ static void checkRpcLevel(const REQUEST* request, RESPONSE* response) if (!RpcFlags.HasNDR32) errorout("\nWARNING: Server's RPC protocol does not support NDR32.\n"); - if (UseRpcBTFN && UseRpcNDR64 && RpcFlags.HasNDR64 && !RpcFlags.HasBTFN) + if (UseClientRpcBTFN && UseClientRpcNDR64 && RpcFlags.HasNDR64 && !RpcFlags.HasBTFN) errorout("\nWARNING: Server's RPC protocol has NDR64 but no BTFN.\n"); # ifndef NO_BASIC_PRODUCT_LIST - if (!IsEqualGuidLEHE(&request->KMSID, &ProductList[15].guid) && UseRpcBTFN && !RpcFlags.HasBTFN) + if (!IsEqualGuidLEHE(&request->KMSID, &ProductList[15].guid) && UseClientRpcBTFN && !RpcFlags.HasBTFN) errorout("\nWARNING: A server with pre-Vista RPC activated a product other than Office 2010.\n"); # endif // NO_BASIC_PRODUCT_LIST } @@ -788,10 +789,10 @@ static void displayResponse(const RESPONSE_RESULT result, const REQUEST* request # else // _WIN32 printf(" (%016I64X)", (unsigned long long)BE64(*(uint64_t*)hwid)); # endif // _WIN32 - } + } printf("\n"); - } +} # ifndef NO_VERBOSE_LOG else { @@ -811,20 +812,23 @@ static void connectRpc(RpcCtx *s) { # ifdef NO_DNS + RpcDiag_t rpcDiag; + *s = connectToAddress(RemoteAddr, AddressFamily, FALSE); if (*s == INVALID_RPCCTX) { errorout("Fatal: Could not connect to %s\n", RemoteAddr); - exit(!0); + exit(SOCKET_ECONNABORTED); } if (verbose) printf("\nPerforming RPC bind ...\n"); - if (rpcBindClient(*s, verbose)) + RpcStatus status; + if ((status = rpcBindClient(*s, verbose, &rpcDiag))) { errorout("Fatal: Could not bind RPC\n"); - exit(!0); + exit(status); } if (verbose) printf("... successful\n"); @@ -844,7 +848,7 @@ static void connectRpc(RpcCtx *s) if (numServers < 1) { errorout("Fatal: No KMS servers found\n"); - exit(!0); + exit(SOCKET_ECONNABORTED); } if (!NoSrvRecordPriority) sortSrvRecords(serverlist, numServers); @@ -884,13 +888,14 @@ static void connectRpc(RpcCtx *s) *s = connectToAddress(serverlist[i]->serverName, AddressFamily, (*RemoteAddr == '.' || *RemoteAddr == '-')); if (*s == INVALID_RPCCTX) continue; + RpcDiag_t rpcDiag; # ifndef NO_VERBOSE_LOG if (verbose) printf("\nPerforming RPC bind ...\n"); - if (rpcBindClient(*s, verbose)) + if (rpcBindClient(*s, verbose, &rpcDiag)) # else - if (rpcBindClient(*s, FALSE)) + if (rpcBindClient(*s, FALSE, &rpcDiag)) # endif { errorout("Warning: Could not bind RPC\n"); @@ -905,7 +910,7 @@ static void connectRpc(RpcCtx *s) } errorout("Fatal: Could not connect to any KMS server\n"); - exit(!0); + exit(SOCKET_ECONNABORTED); # endif // DNS } @@ -1010,15 +1015,17 @@ static void newIniBackupFile(const char* const restrict fname) if (!f) { - errorout("Fatal: Cannot create %s: %s\n", fname, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot create %s: %s\n", fname, strerror(error)); + exit(error); } if (fclose(f)) { - errorout("Fatal: Cannot write to %s: %s\n", fname, strerror(errno)); + int error = errno; + errorout("Fatal: Cannot write to %s: %s\n", fname, strerror(error)); vlmcsd_unlink(fname); - exit(!0); + exit(error); } } @@ -1051,8 +1058,9 @@ static void updateIniFile(iniFileEpidLines* const restrict lines) { if (errno != ENOENT) { - errorout("Fatal: %s: %s\n", fn_ini_client, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: %s: %s\n", fn_ini_client, strerror(error)); + exit(error); } else { @@ -1066,8 +1074,9 @@ static void updateIniFile(iniFileEpidLines* const restrict lines) vlmcsd_unlink(fn_bak); // Required for Windows. Most Unix systems don't need it. if (rename(fn_ini_client, fn_bak)) { - errorout("Fatal: Cannot create %s: %s\n", fn_bak, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot create %s: %s\n", fn_bak, strerror(error)); + exit(error); } } @@ -1079,16 +1088,18 @@ static void updateIniFile(iniFileEpidLines* const restrict lines) if (!in) { - errorout("Fatal: Cannot open %s: %s\n", fn_bak, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot open %s: %s\n", fn_bak, strerror(error)); + exit(error); } out = fopen(fn_ini_client, "wb"); if (!out) { - errorout("Fatal: Cannot create %s: %s\n", fn_ini_client, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot create %s: %s\n", fn_ini_client, strerror(error)); + exit(error); } char sourceLine[256]; @@ -1116,8 +1127,9 @@ static void updateIniFile(iniFileEpidLines* const restrict lines) if (ferror(in)) { - errorout("Fatal: Cannot read from %s: %s\n", fn_bak, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot read from %s: %s\n", fn_bak, strerror(error)); + exit(error); } fclose(in); @@ -1133,8 +1145,9 @@ static void updateIniFile(iniFileEpidLines* const restrict lines) if (fclose(out)) { - errorout("Fatal: Cannot write to %s: %s\n", fn_ini_client, strerror(errno)); - exit(!0); + int error = errno; + errorout("Fatal: Cannot write to %s: %s\n", fn_ini_client, strerror(error)); + exit(error); } if (!iniFileExistedBefore) vlmcsd_unlink(fn_bak); diff --git a/vlmcsd-linux-remote.vcxproj b/src/vlmcsd-linux-remote.vcxproj similarity index 77% rename from vlmcsd-linux-remote.vcxproj rename to src/vlmcsd-linux-remote.vcxproj index 78f4545..a70ec1a 100644 --- a/vlmcsd-linux-remote.vcxproj +++ b/src/vlmcsd-linux-remote.vcxproj @@ -29,34 +29,34 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + {cc2fbe0b-b9df-4306-88a1-20706bbd2b0c} @@ -99,39 +99,37 @@ gcc - $(ProjectDir)VisualStudio-Linux-Remote\bin\$(Platform)\$(Configuration)\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcsd\obj\$(Platform)\$(Configuration)\ gcc - $(IncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(IncludePath);$(SolutionDir)..\src\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(ProjectDir)vlmcsd\obj\$(Platform)\$(Configuration)\ vlmcsd-x64-glibc gcc - $(IncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include - $(ProjectDir)bin\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcsd\obj\$(Platform)\$(Configuration)\ + $(IncludePath);$(SolutionDir)..\src\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(SolutionDir)bin\ gcc + $(ProjectDir)vlmcsd\obj\$(Platform)\$(Configuration)\ - $(IncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(IncludePath);$(SolutionDir)..\src\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include vlmcsd gcc - $(ProjectDir)VisualStudio-Linux-Remote\bin\$(Platform)\$(Configuration)\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcsd\obj\$(Platform)\$(Configuration)\ gcc + $(ProjectDir)vlmcsd\obj\$(Platform)\$(Configuration)\ vlmcsd-x86-glibc gcc - $(IncludePath);$(SolutionDir)..\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include - $(ProjectDir)bin\ - $(ProjectDir)VisualStudio-Linux-Remote\vlmcsd\obj\$(Platform)\$(Configuration)\ + $(IncludePath);$(SolutionDir)..\src\VisualStudio-Linux-Remote\toolchains\gcc5-x86_64-linux-gnu\usr\include + $(SolutionDir)bin\ gcc + $(ProjectDir)vlmcsd\obj\$(Platform)\$(Configuration)\ @@ -171,6 +169,7 @@ c99 c++98 -Wno-sign-conversion -Wno-conversion -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants -ffunction-sections -fdata-sections -pipe -std=gnu89 -m64 %(AdditionalOptions) + None pthread;%(LibraryDependencies) @@ -218,6 +217,7 @@ c99 c++98 -Wno-sign-conversion -Wno-conversion -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants -ffunction-sections -fdata-sections -pipe -std=gnu89 -m32 %(AdditionalOptions) + None pthread;%(LibraryDependencies) diff --git a/vlmcsd-linux-remote.vcxproj.filters b/src/vlmcsd-linux-remote.vcxproj.filters similarity index 61% rename from vlmcsd-linux-remote.vcxproj.filters rename to src/vlmcsd-linux-remote.vcxproj.filters index da0872b..d45d230 100644 --- a/vlmcsd-linux-remote.vcxproj.filters +++ b/src/vlmcsd-linux-remote.vcxproj.filters @@ -9,84 +9,84 @@ - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files diff --git a/src/vlmcsd.c b/src/vlmcsd.c index cc09230..47d5df2 100644 --- a/src/vlmcsd.c +++ b/src/vlmcsd.c @@ -80,7 +80,7 @@ #include "ntservice.h" #include "helpers.h" -static const char* const optstring = "N:B:m:t:w:0:3:6:H:A:R:u:g:L:p:i:P:l:r:U:W:C:F:o:T:SseDdVvqkZ"; +static const char* const optstring = "N:B:m:t:w:0:3:6:H:A:R:u:g:L:p:i:P:l:r:U:W:C:c:F:o:T:K:SseDdVvqkZ"; #if !defined(NO_SOCKETS) && !defined(USE_MSRPC) && !defined(SIMPLE_SOCKETS) @@ -116,6 +116,10 @@ static IniFileParameter_t IniFileParameterList[] = { "Office2010", INI_PARAM_OFFICE2010 }, { "Office2013", INI_PARAM_OFFICE2013 }, { "Office2016", INI_PARAM_OFFICE2016 }, +# ifndef NO_STRICT_MODES + { "WhiteListingLevel", INI_PARAM_WHITELISTING_LEVEL }, + { "CheckClientTime", INI_PARAM_CHECK_CLIENT_TIME }, +# endif // NO_STRICT_MODES # ifndef NO_RANDOM_EPID { "RandomizationLevel", INI_PARAM_RANDOMIZATION_LEVEL }, { "LCID", INI_PARAM_LCID }, @@ -139,8 +143,10 @@ static IniFileParameter_t IniFileParameterList[] = # endif // !defined(NO_TIMEOUT) && !__minix__ && !defined(USE_MSRPC) & !defined(USE_MSRPC) # ifndef USE_MSRPC { "DisconnectClientsImmediately", INI_PARAM_DISCONNECT_IMMEDIATELY }, +# ifndef SIMPLE_RPC { "UseNDR64", INI_PARAM_RPC_NDR64 }, { "UseBTFN", INI_PARAM_RPC_BTFN }, +# endif // !SIMPLE_RPC # endif // USE_MSRPC # ifndef NO_PID_FILE { "PIDFile", INI_PARAM_PID_FILE }, @@ -263,7 +269,7 @@ static char GetUid() static __noreturn void usage() { printerrorf("Incorrect parameters\n\n"); - exit(!0); + exit(VLMCSD_EINVAL); } #else // HELP @@ -274,101 +280,107 @@ static __noreturn void usage() "\nUsage:\n" " %s [ options ]\n\n" "Where:\n" -#ifndef NO_CL_PIDS +# ifndef NO_CL_PIDS " -w always use for Windows\n" " -0 always use for Office2010\n" " -3 always use for Office2013\n" " -6 always use for Office2016\n" " -H always use hardware Id \n" -#endif // NO_CL_PIDS -#if !defined(_WIN32) && !defined(NO_USER_SWITCH) +# endif // NO_CL_PIDS +# if !defined(_WIN32) && !defined(NO_USER_SWITCH) " -u set uid to \n" " -g set gid to \n" -#endif // !defined(_WIN32) && !defined(NO_USER_SWITCH) -#ifndef NO_RANDOM_EPID +# endif // !defined(_WIN32) && !defined(NO_USER_SWITCH) +# ifndef NO_RANDOM_EPID " -r 0|1|2\t\tset ePID randomization level (default 1)\n" " -C \t\tuse fixed in random ePIDs\n" -#endif // NO_RANDOM_EPID -#if !defined(NO_PRIVATE_IP_DETECT) -#if HAVE_GETIFADDR +# endif // NO_RANDOM_EPID +# if !defined(NO_PRIVATE_IP_DETECT) +# if HAVE_GETIFADDR " -o 0|1|2|3\t\tset protection level against clients with public IP addresses (default 0)\n" -#else // !HAVE_GETIFADDR -#ifndef USE_MSRPC +# else // !HAVE_GETIFADDR +# ifndef USE_MSRPC " -o 0|2\t\tset protection level against clients with public IP addresses (default 0)\n" -#else // USE_MSRPC +# else // USE_MSRPC " -o 0|2\t\tset protection level against clients with public IP addresses (default 0). Limited use with MS RPC\n" -#endif // USE_MSRPC -#endif // !HAVE_GETIFADDR -#endif // !defined(NO_PRIVATE_IP_DETECT) -#ifndef NO_SOCKETS -#if !defined(USE_MSRPC) && !defined(SIMPLE_SOCKETS) +# endif // USE_MSRPC +# endif // !HAVE_GETIFADDR +# endif // !defined(NO_PRIVATE_IP_DETECT) +# ifndef NO_SOCKETS +# if !defined(USE_MSRPC) && !defined(SIMPLE_SOCKETS) " -L
[:]\tlisten on IP address
with optional \n" " -P \t\tset TCP port for subsequent -L statements (default 1688)\n" -#if HAVE_FREEBIND +# if HAVE_FREEBIND " -F0, -F1\t\tdisable/enable binding to foreign IP addresses\n" -#endif // HAVE_FREEBIND -#else // defined(USE_MSRPC) || defined(SIMPLE_SOCKETS) +# endif // HAVE_FREEBIND +# else // defined(USE_MSRPC) || defined(SIMPLE_SOCKETS) " -P \t\tuse TCP port (default 1688)\n" -#endif // defined(USE_MSRPC) || defined(SIMPLE_SOCKETS) -#if !defined(NO_LIMIT) && !__minix__ +# endif // defined(USE_MSRPC) || defined(SIMPLE_SOCKETS) +# if !defined(NO_LIMIT) && !__minix__ " -m \t\tHandle max. simultaneously (default no limit)\n" -#endif // !defined(NO_LIMIT) && !__minix__ -#ifdef _NTSERVICE +# endif // !defined(NO_LIMIT) && !__minix__ +# ifdef _NTSERVICE " -s install vlmcsd as an NT service. Ignores -e" -#ifndef _WIN32 +# ifndef _WIN32 ", -f and -D" -#endif // _WIN32 +# endif // _WIN32 "\n" " -S remove vlmcsd service. Ignores all other options\n" " -U run NT service as . Must be used with -s\n" " -W optional for -U. Must be used with -s\n" -#endif // _NTSERVICE -#ifndef NO_LOG +# endif // _NTSERVICE +# ifndef NO_LOG " -e log to stdout\n" -#endif // NO_LOG -#ifndef _WIN32 // +# endif // NO_LOG +# ifndef _WIN32 // " -D run in foreground\n" -#else // _WIN32 +# else // _WIN32 " -D does nothing. Provided for compatibility with POSIX versions only\n" -#endif // _WIN32 -#endif // NO_SOCKETS -#ifndef USE_MSRPC -#if !defined(NO_TIMEOUT) && !__minix__ +# endif // _WIN32 +# endif // NO_SOCKETS +# ifndef NO_STRICT_MODES + " -K 0|1|2|3\t\tset whitelisting level for KMS IDs (default -K0)\n" + " -c0, -c1\t\tdisable/enable client time checking (default -c0)\n" +# endif // !NO_STRICT_MODES +# ifndef USE_MSRPC +# if !defined(NO_TIMEOUT) && !__minix__ " -t \t\tdisconnect clients after of inactivity (default 30)\n" -#endif // !defined(NO_TIMEOUT) && !__minix__ +# endif // !defined(NO_TIMEOUT) && !__minix__ " -d\t\t\tdisconnect clients after each request\n" " -k\t\t\tdon't disconnect clients after each request (default)\n" +# ifndef SIMPLE_RPC " -N0, -N1\t\tdisable/enable NDR64\n" " -B0, -B1\t\tdisable/enable bind time feature negotiation\n" -#endif // USE_MSRPC -#ifndef NO_PID_FILE +# endif // !SIMPLE_RPC +# endif // USE_MSRPC +# ifndef NO_PID_FILE " -p write pid to \n" -#endif // NO_PID_FILE -#ifndef NO_INI_FILE +# endif // NO_PID_FILE +# ifndef NO_INI_FILE " -i \t\tuse config file \n" -#endif // NO_INI_FILE -#ifndef NO_CUSTOM_INTERVALS +# endif // NO_INI_FILE +# ifndef NO_CUSTOM_INTERVALS " -R renew activation every (default 1w)\n" " -A retry activation every (default 2h)\n" -#endif // NO_CUSTOM_INTERVALS -#ifndef NO_LOG -#ifndef _WIN32 +# endif // NO_CUSTOM_INTERVALS +# ifndef NO_LOG +# ifndef _WIN32 " -l syslog log to syslog\n" -#endif // _WIN32 +# endif // _WIN32 " -l log to \n" " -T0, -T1\t\tdisable/enable logging with time and date (default -T1)\n" -#ifndef NO_VERBOSE_LOG +# ifndef NO_VERBOSE_LOG " -v\t\t\tlog verbose\n" " -q\t\t\tdon't log verbose (default)\n" -#endif // NO_VERBOSE_LOG -#endif // NO_LOG -#ifndef NO_VERSION_INFORMATION +# endif // NO_VERBOSE_LOG +# endif // NO_LOG +# ifndef NO_VERSION_INFORMATION " -V display version information and exit\n" -#endif // NO_VERSION_INFORMATION +# endif // NO_VERSION_INFORMATION , Version, global_argv[0]); - exit(!0); + exit(VLMCSD_EINVAL); } #endif // HELP @@ -433,7 +445,7 @@ __pure static DWORD getTimeSpanFromCommandLine(const char *const restrict optarg if (!val) { printerrorf("Fatal: No valid time span specified in option -%c.\n", optchar); - exit(!0); + exit(VLMCSD_EINVAL); } return (DWORD)val; @@ -493,9 +505,9 @@ static char* allocateStringArgument(const char *const argument) static __pure int isControlCharOrSlash(const char c) { - if ((unsigned char)c < '!') return !0; - if (c == '/') return !0; - return 0; + if ((unsigned char)c < '!') return TRUE; + if (c == '/') return TRUE; + return FALSE; } @@ -645,11 +657,11 @@ static BOOL setIniFileParameter(uint_fast8_t id, const char *const iniarg) # if !defined(NO_LIMIT) && !defined(NO_SOCKETS) && !__minix__ case INI_PARAM_MAX_WORKERS: -# ifdef USE_MSRPC +# ifdef USE_MSRPC success = getIniFileArgumentInt(&MaxTasks, iniarg, 1, RPC_C_LISTEN_MAX_CALLS_DEFAULT); -# else // !USE_MSRPC +# else // !USE_MSRPC success = getIniFileArgumentInt(&MaxTasks, iniarg, 1, SEM_VALUE_MAX); -# endif // !USE_MSRPC +# endif // !USE_MSRPC break; # endif // !defined(NO_LIMIT) && !defined(NO_SOCKETS) && !__minix__ @@ -662,6 +674,19 @@ static BOOL setIniFileParameter(uint_fast8_t id, const char *const iniarg) # endif // NO_PID_FILE +#ifndef NO_STRICT_MODES + + case INI_PARAM_WHITELISTING_LEVEL: + success = getIniFileArgumentInt(&WhitelistingLevel, iniarg, 0, 3); + break; + + case INI_PARAM_CHECK_CLIENT_TIME: + success = getIniFileArgumentBool(&CheckClientTime, iniarg); + break; + +#endif // !NO_STRICT_MODES + + # ifndef NO_LOG case INI_PARAM_LOG_FILE: @@ -708,11 +733,11 @@ static BOOL setIniFileParameter(uint_fast8_t id, const char *const iniarg) break; case INI_PARAM_RPC_NDR64: - success = getIniFileArgumentBool(&UseRpcNDR64, iniarg); + success = getIniFileArgumentBool(&UseServerRpcNDR64, iniarg); break; case INI_PARAM_RPC_BTFN: - success = getIniFileArgumentBool(&UseRpcBTFN, iniarg); + success = getIniFileArgumentBool(&UseServerRpcBTFN, iniarg); break; # endif // USE_MSRPC @@ -1249,6 +1274,20 @@ static void parseGeneralArguments() { break; # endif // _NTSERVICE +# ifndef NO_STRICT_MODES + + case 'K': + WhitelistingLevel = (int_fast8_t)getOptionArgumentInt((char)o, 0, 3); + ignoreIniFileParameter(INI_PARAM_WHITELISTING_LEVEL); + break; + + case 'c': + if (!getArgumentBool(&CheckClientTime, optarg)) usage(); + ignoreIniFileParameter(INI_PARAM_CHECK_CLIENT_TIME); + break; + +# endif // !NO_STRICT_MODES + case 'D': # ifndef _WIN32 nodaemon = 1; @@ -1336,15 +1375,17 @@ static void parseGeneralArguments() { ignoreIniFileParameter(INI_PARAM_DISCONNECT_IMMEDIATELY); break; +# ifndef SIMPLE_RPC case 'N': - if (!getArgumentBool(&UseRpcNDR64, optarg)) usage(); + if (!getArgumentBool(&UseServerRpcNDR64, optarg)) usage(); ignoreIniFileParameter(INI_PARAM_RPC_NDR64); break; case 'B': - if (!getArgumentBool(&UseRpcBTFN, optarg)) usage(); + if (!getArgumentBool(&UseServerRpcBTFN, optarg)) usage(); ignoreIniFileParameter(INI_PARAM_RPC_BTFN); break; +# endif // !SIMPLE_RPC # endif // !USE_MSRPC # ifndef NO_VERSION_INFORMATION diff --git a/src/vlmcsd.h b/src/vlmcsd.h index 089ccff..f2a09c8 100644 --- a/src/vlmcsd.h +++ b/src/vlmcsd.h @@ -52,6 +52,8 @@ int server_main(int argc, CARGV argv); #define INI_PARAM_OFFICE2010 21 #define INI_PARAM_OFFICE2013 22 #define INI_PARAM_OFFICE2016 23 +#define INI_PARAM_WHITELISTING_LEVEL 24 +#define INI_PARAM_CHECK_CLIENT_TIME 25 #define INI_FILE_PASS_1 1 #define INI_FILE_PASS_2 2 diff --git a/src/vlmcsdmulti.c b/src/vlmcsdmulti.c index 8e94efb..9b26f18 100644 --- a/src/vlmcsdmulti.c +++ b/src/vlmcsdmulti.c @@ -95,5 +95,5 @@ int main(int argc, CARGV argv) Version, *argv, *argv ); - return !0; + return VLMCSD_EINVAL; }