for a list of valid LCIDs. Please note that some
- of them are not recognized by .NET Framework 4.0.
-
- Most other KMS emulators use a fixed LCID of 1033 (English -
- US). To achive the same behavior in vlmcsd use -C 1033.
-
-
- -H HostBuild
- Do not randomize the host build number in the ePID and use Host-
- Build instead, for instance 17763 for Windows Server 2019 / Win-
- dows 10 1809.
-
-
- -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.
-
-
- -M0 and -M1
- Disables (-M0) or enables (-M1) maintaining a list of client
- machine IDs (CMIDs). The default is -M0. -M1 is useful to pre-
- vent emulator detection. By maintaing a CMID list, vlmcsd
- reports current active clients exactly like a genuine KMS emula-
- tor. This includes bug compatibility to the extent that you can
- permanently kill a genuine KMS emulator by sending an "over-
- charge request" with a required client count of 376 or more and
- then request activation for 671 clients. vlmcsd can be reset
- from this condition by restarting it. If -M0 is used, vlmcsd
- reports current active clients as good as possible. If no client
- sends an "overcharge request", it is not possible to detect vlm-
- csd as an emulator with -M0. -M1 requires the allocation of a
- buffer that is about 50 kB in size. On hardware with few memory
- resources use it only if you really need it.
-
- If you start vlmcsd from an internet superserver, -M1 cannot be
- used. Since vlmcsd exits after each activation, it cannot main-
- tain any state in memory.
-
-
- -E0 and -E1
- These options are ignored if you do not also specify -M1. If you
- use -E0 (the default), vlmcsd starts up as a fully "charged" KMS
- server. Clients activate immediately. -E1 lets you start up vlm-
- csd with an empty CMID list. Activation will start when the
- required minimum clients (25 for Windows Client OSses, 5 for
- Windows Server OSses and Office) have registered with the KMS
- server. As long as the minimum client count has not been
- reached, clients end up in HRESULT 0xC004F038 "The count
- reported by your Key Management Service (KMS) is insufficient.
- Please contact your system administrator". You may use vlmcs(1)
- or another KMS client emulator to "charge" vlmcsd. -E1 does not
- improve emulator detection prevention. It's primary purpose is
- to help developers of KMS clients to test "charging" a KMS
- server.
-
-
- -R renewal-interval
- Instructs clients to renew activation every renewal-interval.
- The renewal-interval is a number optionally immediately followed
- by a letter indicating the unit. Valid unit letters are s (sec-
- onds), m (minutes), h (hours), d (days) and w (weeks). If you do
- not specify a letter, minutes is assumed.
-
- -R3d for instance instructs clients to renew activation every 3
- days. The default renewal-interval is 10080 (identical to 7d and
- 1w).
-
- Due to poor implementation of Microsofts KMS Client it cannot be
- guaranteed that activation is renewed on time as specfied by the
- -R option. Don't care about that. Renewal will happen well
- before your activation expires (usually 180 days).
-
- Even though you can specify seconds, the granularity of this
- option is 1 minute. Seconds are rounded down to the next multi-
- ple of 60.
-
-
- -A activation-interval
- Instructs clients to retry activation every activation-interval
- if it was unsuccessful, e.g. because it could not reach the
- server. The default is 120 (identical to 2h). activation-inter-
- val follows the same syntax as renewal-interval in the -R
- option.
-
-
- -s Installs vlmcsd as a Windows service. This option only works
- with the native Windows version and Cygwin. Combine -s with
- other command line options. These will be in effect when you
- start the service. The service automatically starts when you
- reboot your machine. To start it manually, type "net start vlm-
- csd".
-
- If you use Cygwin, you must include your Cygwin system DLL
- directory (usually C:\Cygwin\bin or C:\Cygwin64\bin) into the
- PATH environment variable or the service will not start.
-
- You can reinstall the service anytime using vlmcsd -s again,
- e.g. with a different command line. If the service is running,
- it will be restarted with the new command line.
-
- When using -s the command line is checked for basic syntax
- errors only. For example "vlmcsd -s -L 1.2.3.4" reports no error
- but the service will not start if 1.2.3.4 is not an IP address
- on your system.
-
-
- -S Uninstalls the vlmcsd service. Works only with the native Win-
- dows version and Cygwin. All other options will be ignored if
- you include -S in the command line.
-
-
- -U [domain\]username
- Can only be used together with -s. Starts the service as a dif-
- ferent user than the local SYSTEM account. This is used to run
- the service under an account with low privileges. If you omit
- the domain, an account from the local computer will be used.
-
- You may use "NT AUTHORITY\NetworkService". This is a pseudo user
- with low privileges. You may also use "NT AUTHORITY\LocalSer-
- vice" which has more privileges but these are of no use for run-
- ning vlmcsd.
-
- Make sure that the user you specify has at least execute permis-
- sion for your executable. "NT AUTHORITY\NetworkService" normally
- has no permission to run binaries from your home directory.
-
- For your 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 ser-
- vice to run as "NT AUTHORITY\NetworkService".
-
-
- -W password
- Can only be used together with -s. Specifies a password for the
- corresponding username you use with -U. SYSTEM, "NT AUTHOR-
- ITY\NetworkService", "NT AUTHORITY\LocalService" do not require
- a password.
-
- If you specify a user with even lower privileges than "NT
- AUTHORITY\NetworkService", you must specify its password. You
- also have to grant the "Log on as a service" right to that user.
-
-
-SIGNALS
- The following signals differ from the default behavior:
-
-
- SIGTERM, SIGINT
- These signals cause vlmcsd to exit gracefully. All global sema-
- phores and shared memory pages will be released, the pid file
- will be unlinked (deleted) and a shutdown message will be
- logged.
-
-
- SIGHUP Causes vlmcsd to be restarted completely. This is useful if you
- started vlmcsd with an ini file. You can modify the ini file
- while vlmcsd is running and then sending SIGHUP, e.g. by typing
- "killall -SIGHUP vlmcsd" or "kill -SIGHUP `cat /var/run/vlm-
- csd.pid`".
-
- The SIGHUP handler has been implemented relatively simple. It is
- virtually the same as stopping vlmcsd and starting it again
- immediately with the following exceptions:
-
-
- -- The new process does not get a new process id.
-
- -- If you used a pid file, it is not deleted and recreated
- because the process id stays the same.
-
- -- If you used the 'user' and/or 'group' directive in an ini
- file these are ignored. This is because once you switched to
- lower privileged users and groups, there is no way back. Any-
- thing else would be a severe security flaw in the OS.
-
- Signaling is not available in the native Windows version and in the
- Cygwin version when vlmcsd runs as a Windows service.
-
-
-SUPPORTED OPERATING SYSTEMS
- vlmcsd compiles and runs on Linux, Windows (no Cygwin required but
- explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD, Dragonfly
- BSD, Minix, Solaris, OpenIndiana, Android and iOS. Other POSIX or
- unixoid OSses may work with unmodified sources or may require minor
- porting efforts.
-
-
-SUPPORTED PRODUCTS
- vlmcsd can answer activation requests for the following products: Win-
- dows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 (up to 1703),
- Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Win-
- dows Server 2012 R2, Windows Server 2016, Office 2010, Project 2010,
- Visio 2010, Office 2013, Project 2013, Visio 2013, Office 2016, Project
- 2016, Visio 2016. Newer products may work as long as the KMS protocol
- does not change. A complete list of fully supported products can be
- obtained using the -x option of vlmcs(1).
-
- Office, Project and Visio must be volume license versions.
-
-
-FILES
- vlmcsd.ini(5)
-
-
-EXAMPLES
- vlmcsd -De
- Starts vlmcsd in foreground. Useful if you use it for the first
- time and want to see what's happening when a client requests
- activation.
-
-
- vlmcsd -l /var/log/vlmcsd.log
- Starts vlmcsd as a daemon and logs everything to /var/log/vlm-
- csd.log.
-
-
- vlmcsd -L 192.168.1.17
- Starts vlmcsd as a daemon and listens on IP address 192.168.1.17
- only. This is useful for routers that have a public and a pri-
- vate IP address to prevent your KMS server from becoming public.
-
-
- vlmcsd -s -U /n -l C:\logs\vlmcsd.log
- Installs vlmcsd as a Windows service with low privileges and
- logs everything to C:\logs\vlmcsd.log when the service is
- started with "net start vlmcsd".
-
-
-BUGS
- An ePID specified in an ini file must not contain spaces.
-
-
-AUTHOR
- Written by crony12, Hotbird64 and vityan666. With contributions from
- DougQaid.
-
-
-CREDITS
- Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
- qad, Ratiborus, ...
-
-
-SEE ALSO
- vlmcsd.ini(5), vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
-Hotbird64 October 2018 VLMCSD(8)
diff --git a/man/vlmcsd.8.html b/man/vlmcsd.8.html
deleted file mode 100644
index dff71a8..0000000
--- a/man/vlmcsd.8.html
+++ /dev/null
@@ -1,1171 +0,0 @@
-
-
-
-
-
-
-
-
-
-VLMCSD
-
-
-
-
-VLMCSD
-
-NAME
-SYNOPSIS
-DESCRIPTION
-OPTIONS
-SIGNALS
-SUPPORTED OPERATING SYSTEMS
-SUPPORTED PRODUCTS
-FILES
-EXAMPLES
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
-
-
-
-
-NAME
-
-
-
-
-vlmcsd - a
-fully Microsoft compatible KMS server
-
-SYNOPSIS
-
-
-
-
-vlmcsd [
-options ]
-
-DESCRIPTION
-
-
-
-
-vlmcsd
-is a fully Microsoft compatible KMS server that provides
-product activation services to clients. It is meant as a
-drop-in replacement for a Microsoft KMS server (Windows
-computer with KMS key entered). It currently supports KMS
-protocol versions 4, 5 and 6.
-
-vlmcsd
-is designed to run on POSIX compatible operating systens. It
-only requires a basic C library with a BSD-style sockets API
-and either fork(2) or pthreads(7). That allows
-it to run on most embedded systems like routers, NASes,
-mobile phones, tablets, TVs, settop boxes, etc. Some efforts
-have been made that it also runs on Windows.
-
-Although
-vlmcsd does neither require an activation key nor a
-payment to anyone, it is not meant to run illegal copies of
-Windows. Its purpose is to ensure that owners of legal
-copies can use their software without restrictions, e.g. if
-you buy a new computer or motherboard and your key will be
-refused activation from Microsoft servers due to hardware
-changes.
-
-vlmcsd
-may be started via an internet superserver like
-inetd(8) or xinetd(8) as well as an advanced
-init system like systemd(8) or launchd(8)
-using socket based activation. If vlmcsd detects that
-stdin(3) is a socket, it assumes that there is
-already a connected client on stdin that wants to be
-activated.
-
-All options
-that control setting up listening sockets will be ignored
-when in inetd mode. The sockets will be set up by your
-internet superserver. You also cannot limit the number of
-simultanous clients (option -m). You need to
-configure the limit in your internet superserver.
-
-The followong
-features that require that vlmcsd is permanently loaded will
-not work if started from an internet superserver:
-
-You cannot
-maintain a client list (option -M1)
-
-EPID
-Randomization Level 1 (option -r1) works like Level 2
-(-r2). You may want to use Level 0 (-r0) or
-custom EPIDs (options -w, -G, -0,
--3 and -6) instead.
-
-OPTIONS
-
-
-
-
-Since vlmcsd
-can be configured at compile time, some options may not be
-available on your system.
-
-All options
-that do no require an argument may be combined with a single
-dash, for instance "vlmcsd -D -e" is identical to
-"vlmcsd -De". For all options that require an
-argument a space between the option and the option argument
-is optional. Thus "vlmcsd -r 2" and "vlmcsd
--r2" are identical too.
--h or -?
-
-Displays help.
-
-
-
- |
-
-
-
- -V |
- |
-
-
-
- Displays extended version information. This includes the
-compiler used to build vlmcsd, the intended platform and
-flags (compile time options) to build vlmcsd. If you have
-the source code of vlmcsd, you can type make help (or
-gmake help on systems that do not use the GNU version
-of make(1) by default) to see the meaning of those
-flags. |
-
-
--L
-ipaddress[:port]
-
-Instructs vlmcsd to listen on
-ipaddress with optional port (default 1688).
-You can use this option more than once. If you do not
-specify -L at least once, IP addresses 0.0.0.0 (IPv4)
-and :: (IPv6) are used. If the IP address contains colons
-(IPv6) you must enclose the IP address in brackets if you
-specify the optional port, e.g.
-[2001:db8::dead:beef]:1688.
-
-If no port is
-specified, vlmcsd uses the default port according to a
-preceding -P option. If you specify a port, it can be
-a number (1-65535) or a name (usually found in /etc/services
-if not provided via LDAP, NIS+ or another name service).
-
-If you specify
-a link local IPv6 address (fe80::/10, usually starting with
-fe80::), it must be followed by a percent sign (%) and a
-scope id (=network interface name or number) on most unixoid
-OSses including Linux, Android, MacOS X and iOS, e.g.
-fe80::1234:56ff:fe78:9abc%eth0 or
-[fe80::1234:56ff:fe78:9abc%2]:1688. Windows
-(including cygwin) does not require a scope id unless the
-same link local address is used on more than one network
-interface. Windows does not accept a name and the scope id
-must be a number.
-
--o level
-
-Sets the level of
-protection against activations from public IP addresses. The
-default is -o0 for no protection.
-
--o1
-causes vlmcsd not to listen on all IP addresses but on
-private IP addresses only. IPv4 addresses in the
-100.64.0.0/10 range (see RFC6598) are not treated as private
-since they can be reached from other users of your ISP.
-Private IPv4 addresses are 10.0.0.0/8, 172.16.0.0/12,
-192.168.0.0/16, 169.254.0.0/16 and 127.0.0.0/8. vlmcsd
-treats all IPv6 addresses not within 2000::/3 as private
-addresses.
-
-If -o1
-is combined with -L, it will listen on all private IP
-addresses plus the ones specified by one or more -L
-statements. If -o1 is combined with -P, only
-the last -P statement will be used.
-
-Using
--o1 does not protect you if you enable NAT port
-forwarding on your router to your vlmcsd machine. It is
-identical to using multiple -L statements with all of your
-private IP addresses. What -o1 does for you, is
-automatically enumerating your private IP addresses.
-
--o2 does
-not affect the interfaces, vlmcsd is listening on. When a
-clients connects, vlmcsd immediately drops the connection if
-the client has a public IP address. Unlike -o1
-clients will be able to establish a TCP connection but it
-will be closed without a single byte sent over the
-connection. This protects against clients with public IP
-addresses even if NAT port forwarding is used. While
--o2 offers a higher level of protection than
--o1, the client sees that the KMS TCP port (1688 by
-default) is actually accepting connections.
-
-If vlmcsd is
-compiled to use MS RPC, -o2 can only offer very poor
-protection. Control is passed from MS RPC to vlmcsd after
-the KMS protocol has already been negotiated. Thus a client
-can always verify that the KMS protocol is available even
-though it receives an RPC_S_ACCESS_DENIED error message.
-vlmcsd will issue a warning if -o2 is used with MS
-RPC. For adaequate protection do not use a MS RPC build
-of vlmcsd with -o2.
-
--o3
-combines -o1 and -o2. vlmcsd listens on
-private interfaces only and if a public client manages to
-connect anyway due to NAT port forwarding, it will be
-immediately dropped.
-
-If you use any
-form of TCP level port forwarding (e.g. nc(1),
-netcat(1), ssh(1) port forwarding or similar)
-to redirect KMS requests to vlmcsd, there will be no
-protection even if you use -o2 or -o3. This is
-due to the simple fact that vlmcsd sees the IP address of
-the redirector and not the IP address of the client.
-
--o1 (and
-thus -o3) is not (yet) available in some
-scenarios:
-
-FreeBSD: There
-is a longtime unfixed
-bug
-in the 32-bit ABI of the 64-bit kernel. If you have a 64-bit
-FreeBSD kernel, you must run the 64-bit version of vlmcsd if
-you use -o1 or -o3. The 32-bit version causes
-undefined behavior up to crashing vlmcsd. Other BSDs
-(NetBSD, OpenBSD, Dragonfly and Mac OS X) work
-correctly.
-
-If vlmcsd was
-started by an internet superserver or was compiled to use
-Microsoft RPC (Windows only) or simple sockets, -o1
-and -o3 are not available by design.
-
--P port
-
-Use TCP port for all
-subsequent -L statements that do not include an
-optional port. If you use -P and -L, -P
-must be specified before -L.
-
--O
-vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration]
-
-Enables a compatible VPN
-adapter to create additional local IPv4 addresses (like
-127.0.0.1) that appear as remote IPv4 addresses to the
-system. This allows product activation using a local
-instance of vlmcsd. This feature is only available in
-Windows and Cygwin builds of vlmcsd since it is not of any
-use on other operating systems. Compatible VPN adapters are
-Tap-windows version 8.2 or higher (from OpenVPN) and the
-TeamViewer VPN adapter. There are two special
-vpn-adapter-names. A single period (.) instructs
-vlmcsd to use the first available compatible VPN adapter. A
-single dash (-) disables the use of a VPN adapter if one has
-been configured in vlmcsd.ini(5). The
-vpn-adapter-name is not case-sensitive. If the
-vpn-adapter-name contains spaces (e.g. Ethernet 3),
-you must enclose it in quotes.
-
-The default
-ipv4-address is 10.10.10.9 and the default
-cidr-mask is 30. If you are using the default values,
-your VPN adapter uses an IPv4 address of 10.10.10.9 and you
-can set your activation client to use the easy to remember
-address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript
-ospp.vbs /sethst:10.10.10.10).
-
-The
-dhcp-lease-duration is a number optionally followed
-by s, m, h, d or w to indicate seconds, minutes, hours, days
-or weeks. The default dhcp-lease-duration is 1d (one
-day). It is normally not required to change this value.
-
-It is advised
-not to manually configure your OpenVPN TAP or TeamViewer VPN
-adapter in "Network Connections". If you set the
-IPv4 configuration manually anyway, the IPv4 address and the
-subnet mask must match the -O parameter. It is safe
-leave the IPv4 configuration to automatic (DHCP). vlmcsd
-will wait up to four seconds for the DHCP configuration to
-complete before binding to and listenin on any
-interfaces.
-
-You should be
-aware that only one program can use a VPN adapter at a time.
-If you use the TeamViewer VPN adapter for example, you will
-not be able to use the VPN feature of TeamViewer as long as
-vlmcsd is running. The same applies to OpenVPN TAP adapters
-that are in use by other programs (for example OpenVPN,
-QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid
-conflicts is to install Tap-Windows from OpenVPN, cd to
-C:\Program Files\TAP-Windows\bin and run addtap.bat to
-install an additional TAP adapter. Go to "Network
-Connections" and rename the new adapter to
-"vlmcsd" and specify -O vlmcsd to use
-it.
-
-Example: -O
-"Ethernet 7"=192.168.123.1/24 (uses VPN
-adapter Ethernet 7 with IPv4 address 192.168.123.1 and have
-192.168.123.2 to 192.168.123.254 as additional local (but
-apparently remote) IPv4 addresses.
-
--x0 and -x1
-
-Controls under what
-circumstances vlmcsd will exit. Using the default of
--x0 vlmcsd stays active as long as it can perform
-some useful operations. If vlmcsd is run by any form of a
-watchdog, e.g. NT service manager (Windows), systemd (Linux)
-or launchd (Mac OS / iOS), it may be desirable to end vlmcsd
-and let the watchdog restart it. This is especially true if
-some pre-requisites are not yet met but will be some time
-later, e.g. network is not yet fully setup.
-
-By using
--x0 vlmcsd will
-
-exit if none of
-the listening sockets specified with -L can be used.
-It continues if at least one socket can be setup for
-listening.
-
-exit any TAP
-mirror thread (Windows version only) if there is an error
-condition while reading or writing from or to the VPN
-adapter but continue to work without utilizing a VPN
-adapter.
-
-By using
--x1 vlmcsd will
-
-exit if not all
-listening sockets specified with -L can be used.
-
-exit completely
-if there is a problem with a VPN adapter it is using. This
-can happen for instance if the VPN adapter has been disabled
-using "Control Panel - Network - Adapter Settings"
-while vlmcsd is using it.
-
-Please note
-that -x1 is kind of a workaround option. While it may
-help under some circumstances, it is better to solve the
-problem at its origin, e.g. properly implementing
-dependencies in your startup script to ensure all network
-interfaces and the VPN adapter you will use are completely
-setup before you start vlmcsd.
-
--F0 and -F1
-
-Allow (-F1) or disallow
-(-F0) binding to IP addresses that are currently not
-configured on your system. The default is -F0.
--F1 allows you to bind to an IP address that may be
-configured after you started vlmcsd. vlmcsd
-will listen on that address as soon as it becomes available.
-This feature is only available under Linux (IPv4 and IPv6)
-and FreeBSD (IPv4 only). FreeBSD allows this feature only
-for the root user (more correctly: processes that have the
-PRIV_NETINET_BINDANY privilege). Linux does not require a
-capability for this.
-
--t seconds
-
-Timeout the TCP connection with
-the client after seconds seconds. After sending an
-activation request. RPC keeps the TCP connection for a
-while. The default is 30 seconds. You may specify a shorter
-period to free ressources on your device faster. This is
-useful for devices with limited main memory or if you used
--m to limit the concurrent clients that may request
-activation. Microsoft RPC clients disconnect after 30
-seconds by default. Setting seconds to a greater
-value does not make much sense.
-
--m
-concurrent-clients
-
-Limit the number of clients
-that will be handled concurrently. This is useful for
-devices with limited ressources or if you are experiencing
-DoS attacks that spawn thousands of threads or forked
-processes. If additional clients connect to vlmcsd, they
-need to wait until another client disconnects. If you set
-concurrent-clients to a small value ( <10 ), you
-should also select a reasonable timeout of 2 or 3 seconds
-with -t. The default is no limit.
-
-
-
- |
-
-
-
- -d |
- |
-
-
-
- Disconnect each client after processing one activation
-request. This is a direct violation of DCE RPC but may help
-if you receive malicous fake RPC requests that block your
-threads or forked processes. Some other KMS emulators (e.g.
-py-kms) behave this way. |
-
- |
-
-
-
- -k |
- |
-
-
-
- Do not disconnect clients after processing an activation
-request. This selects the default behavior. -k is
-useful only if you used an ini file (see
-vlmcsd.ini(5) and -i). If the ini file
-contains the line "DisconnectClientsImmediately =
-true", you can use this switch to restore the default
-behavior. |
-
-
--N0 and -N1
-
-Disables (-N0) or
-enables (-N1) the use of the NDR64 transfer syntax in
-the RPC protocol. Unlike Microsoft vlmcsd supports NDR64 on
-32-bit operating systems. Microsoft introduced NDR64 in
-Windows Vista but their KMS servers started using it with
-Windows 8. Thus if you choose random ePIDs, vlmcsd will
-select ePIDs with build numbers 9200 and 9600 if you enable
-NDR64 and build numbers 6002 and 7601 if you disable NDR64.
-The default is to enable NDR64.
-
--B0 and -B1
-
-Disables (-B0) or
-enables (-B1) bind time feature negotiation (BTFN) in
-the RPC protocol. All Windows operating systems starting
-with Vista support BTFN and try to negotiate it when
-initiating an RPC connection. Thus consider turning it off
-as a debug / troubleshooting feature only. Some older
-firewalls that selectively block or redirect RPC traffic may
-get confused when they detect NDR64 or BTFN.
-
--l filename
-
-Use filename as a log
-file. The log file records all activations with IP address,
-Windows workstation name (no reverse DNS lookup), activated
-product, KMS protocol, time and date. If you do not specify
-a log file, no log is created. For a live view of the log
-file type tail -f file.
-
-If you use the
-special filename "syslog", vlmcsd uses
-syslog(3) for logging. If your system has no syslog
-service (/dev/log) installed, logging output will go to
-/dev/console. Syslog logging is not available in the native
-Windows version. The Cygwin version does support syslog
-logging.
-
--T0 and -T1
-
-Disable (-T0) or enable
-(-T1) the inclusion of date and time in each line of
-the log. The default is -T1. -T0 is useful if
-you log to stdout(3) which is redirected to another
-logging mechanism that already includes date and time in its
-output, for instance systemd-journald(8). If you log
-to syslog(3), -T1 is ignored and date and time
-will never be included in the output sent to
-syslog(3).
-
-
-
- |
-
-
-
- -D |
- |
-
-
-
- Normally vlmcsd daemonizes and runs in background
-(except the native Windows version). If -D is
-specified, vlmcsd does not daemonize and runs in foreground.
-This is useful for testing and allows you to simply press
-<Ctrl-C> to exit vlmcsd. |
-
-
-The native
-Windows version never daemonizes and always behaves as if
--D had been specified. You may want to install vlmcsd
-as a service instead. See -s.
-
-
-
- |
-
-
-
- -e |
- |
-
-
-
- If specified, vlmcsd ignores
--l and writes all logging output to stdout(3).
-This is mainly useful for testing and debugging and often
-combined with -D. |
-
- |
-
-
-
- -v |
- |
-
-
-
- Use verbose logging. Logs every parameter of the base
-request and the base response. It also logs the HWID of the
-KMS server if KMS protocol version 6 is used. This option is
-mainly for debugging purposes. It only has an effect if some
-form of logging is used. Thus -v does not make sense
-if not used with -l, -e or -f. |
-
- |
-
-
-
- -q |
- |
-
-
-
- Do not use verbose logging. This is actually the default
-behavior. It only makes sense if you use vlmcsd with an ini
-file (see -i and vlmcsd.ini(5)). If the ini
-file contains the line "LogVerbose = true" you can
-use -q to restore the default behavior. |
-
-
--p filename
-
-Create pid file
-filename. This has nothing to do with KMS ePIDs. A
-pid file is a file where vlmcsd writes its own process id.
-This is used by standard init scripts (typically found in
-/etc/init.d). The default is not to write a pid file.
-
--u user and
--g group
-
-Causes vlmcsd to run in the
-specified user and group security context. The
-main purpose for this is to drop root privileges after it
-has been started from the root account. To use this feature
-from cygwin you must run cyglsa-config and the account from
-which vlmcsd is started must have the rights "Act as
-part of the operating system" and "Replace a
-process level token". The native Windows version does
-not support these options.
-
-The actual
-security context switch is performed after the TCP sockets
-have been created. This allows you to use privileged ports
-(< 1024) when you start vlmcsd from the root account.
-
-However if you
-use an ini, pid or log file, you must ensure that the
-unprivileged user has access to these files. You can always
-log to syslog(3) from an unprivileged account on most
-platforms (see -l).
-
--a CSVLK =
-ePID [ / HwId ]
-
-Use ePID and HwId
-for a specific CSVLK. When you use it, -r is
-disregarded for this CSVLK. If vlmcsd uses the
-default vlmcsd.kmd database, you can use the following
-CSVLKs: Windows, WinChinaGov, Office2010, Office2013,
-Office2016 and Office2019. The -a option requires
-that database version 1.6 or later is used.
-
-HwId
-must be specified as 16 hex digits that are interpreted as a
-series of 8 bytes (big endian). Any character that is not a
-hex digit will be ignored. This is for better
-readability.
-
--i filename
-
-Use configuration file (aka ini
-file) filename. Most configuration parameters can be
-set either via the command line or an ini file. The command
-line always has precedence over configuration items in the
-ini file. See vlmcsd.ini(5) for the format of the
-configuration file.
-
-If vlmcsd has
-been compiled to use a default configuration file (often
-/etc/vlmcsd.ini), you may use -i- to ignore the
-default configuration file.
-
--j filename
-
-Use KMS data file
-filename. By default vlmcsd only contains the minimum
-product data that is required to perform all operations
-correctly. You may use a more complete KMS data file that
-contains all detailed product names. This is especially
-useful if you are logging KMS requests. If you don’t
-log, there is no need to load an external KMS data file.
-
-If vlmcsd has
-been compiled to use a default KMS data file, you may use
--j- to ignore the default configuration file.
-
--r0, -r1
-(default) and -r2
-
-These options determine how
-ePIDs are generated if
-
-- you did not
-sprecify an ePID in the command line and
-- you haven’t used -i or
-- the file specified by -i cannot be opened or
-- the file specified by -i does not contain an ePID
-for the KMS request
-
--r0
-means there are no random ePIDs. vlmcsd simply issues
-default ePIDs that are built into the binary at compile
-time. Pro: behaves like real KMS server that also
-always issues the same ePID. Con: Microsoft may start
-blacklisting again and the default ePID may not work any
-longer.
-
--r1
-instructs vlmcsd to generate random ePIDs when the program
-starts or receives a SIGHUP signal and uses these ePIDs
-until it is stopped or receives another SIGHUP. Most other
-KMS emulators generate a new ePID on every KMS request. This
-is easily detectable. Microsoft could just modify sppsvc.exe
-in a way that it always sends two identical KMS requests in
-two RPC requests but over the same TCP connection. If both
-KMS responses contain the different ePIDs, the KMS server is
-not genuine. -r1 is the default mode. -r1 also
-ensures that all three ePIDs (Windows, Office 2010 and
-Office 2013) use the same OS build number and LCID (language
-id).
-
-If vlmcsd has
-been started by an internet superserver, -r1 works
-almost identically to -r2. The only exception occurs
-if you send more than one activation request over the same
-TCP connection. This is simply due to the fact that vlmcsd
-is started upon a connection request and does not stay in
-memory after servicing a KMS request. Consider using
--r0 or -w, -G, -0, -3 and
--6 when starting vlmcsd by an internet
-superserver.
-
--r2
-behaves like most other KMS server emulators with random
-support and generates a new random ePID on every request.
--r2 should be treated as debugging option only
-because it allows very easy emulator detection.
-
--C LCID
-
-Do not randomize the locale id
-part of the ePID and use LCID instead. The
-LCID must be specified as a decimal number, e.g. 1049
-for "Russian - Russia". This option has no effect
-if the ePID is not randomized at all, e.g. if it is selected
-from the command line or an ini file.
-
-By default
-vlmcsd generates a valid locale id that is recognized by
-.NET Framework 4.0. This may lead to a locale id which is
-unlikely to occur in your country, for instance 2155 for
-"Quecha - Ecuador". You may want to select the
-locale id of your country instead. See
-MSDN
-for a list of valid LCIDs. Please note that some of
-them are not recognized by .NET Framework 4.0.
-
-Most other KMS
-emulators use a fixed LCID of 1033 (English - US). To
-achive the same behavior in vlmcsd use -C 1033.
-
--H HostBuild
-
-Do not randomize the host build
-number in the ePID and use HostBuild instead, for
-instance 17763 for Windows Server 2019 / Windows 10
-1809.
-
--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.
-
--M0 and -M1
-
-Disables (-M0) or
-enables (-M1) maintaining a list of client machine
-IDs (CMIDs). The default is -M0. -M1 is useful
-to prevent emulator detection. By maintaing a CMID list,
-vlmcsd reports current active clients exactly like a genuine
-KMS emulator. This includes bug compatibility to the extent
-that you can permanently kill a genuine KMS emulator by
-sending an "overcharge request" with a required
-client count of 376 or more and then request activation for
-671 clients. vlmcsd can be reset from this condition by
-restarting it. If -M0 is used, vlmcsd reports current
-active clients as good as possible. If no client sends an
-"overcharge request", it is not possible to detect
-vlmcsd as an emulator with -M0. -M1 requires
-the allocation of a buffer that is about 50 kB in size. On
-hardware with few memory resources use it only if you really
-need it.
-
-If you start
-vlmcsd from an internet superserver, -M1 cannot be
-used. Since vlmcsd exits after each activation, it cannot
-maintain any state in memory.
-
--E0 and -E1
-
-These options are ignored if
-you do not also specify -M1. If you use -E0
-(the default), vlmcsd starts up as a fully
-"charged" KMS server. Clients activate
-immediately. -E1 lets you start up vlmcsd with an
-empty CMID list. Activation will start when the required
-minimum clients (25 for Windows Client OSses, 5 for Windows
-Server OSses and Office) have registered with the KMS
-server. As long as the minimum client count has not been
-reached, clients end up in HRESULT 0xC004F038 "The
-count reported by your Key Management Service (KMS) is
-insufficient. Please contact your system
-administrator". You may use vlmcs(1) or another
-KMS client emulator to "charge" vlmcsd. -E1
-does not improve emulator detection prevention. It’s
-primary purpose is to help developers of KMS clients to test
-"charging" a KMS server.
-
--R
-renewal-interval
-
-Instructs clients to renew
-activation every renewal-interval. The
-renewal-interval 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.
-
--R3d for
-instance instructs clients to renew activation every 3 days.
-The default renewal-interval is 10080 (identical to
-7d and 1w).
-
-Due to poor
-implementation of Microsofts KMS Client it cannot be
-guaranteed that activation is renewed on time as specfied by
-the -R option. Don’t care about that. Renewal will
-happen well before your activation expires (usually 180
-days).
-
-Even though you
-can specify seconds, the granularity of this option is 1
-minute. Seconds are rounded down to the next multiple of
-60.
-
--A
-activation-interval
-
-Instructs clients to retry
-activation every activation-interval if it was
-unsuccessful, e.g. because it could not reach the server.
-The default is 120 (identical to 2h).
-activation-interval follows the same syntax as
-renewal-interval in the -R option.
-
-
-
- |
-
-
-
- -s |
- |
-
-
-
- Installs vlmcsd as a Windows service. This option only
-works with the native Windows version and Cygwin. Combine
--s with other command line options. These will be in
-effect when you start the service. The service automatically
-starts when you reboot your machine. To start it manually,
-type "net start vlmcsd". |
-
-
-If you use
-Cygwin, you must include your Cygwin system DLL directory
-(usually C:\Cygwin\bin or C:\Cygwin64\bin) into the PATH
-environment variable or the service will not start.
-
-You can
-reinstall the service anytime using vlmcsd -s again, e.g.
-with a different command line. If the service is running, it
-will be restarted with the new command line.
-
-When using
--s the command line is checked for basic syntax
-errors only. For example "vlmcsd -s -L 1.2.3.4"
-reports no error but the service will not start if 1.2.3.4
-is not an IP address on your system.
-
-
-
- |
-
-
-
- -S |
- |
-
-
-
- Uninstalls the vlmcsd service.
-Works only with the native Windows version and Cygwin. All
-other options will be ignored if you include -S in the
-command line. |
-
-
--U
-[domain\]username
-
-Can only be used together with
--s. Starts the service as a different user than the
-local SYSTEM account. This is used to run the service under
-an account with low privileges. If you omit the domain, an
-account from the local computer will be used.
-
-You may use
-"NT AUTHORITY\NetworkService". This is a pseudo
-user with low privileges. You may also use "NT
-AUTHORITY\LocalService" which has more privileges but
-these are of no use for running vlmcsd.
-
-Make sure that
-the user you specify has at least execute permission for
-your executable. "NT AUTHORITY\NetworkService"
-normally has no permission to run binaries from your home
-directory.
-
-For your
-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
-AUTHORITY\NetworkService".
-
--W password
-
-Can only be used together with
--s. Specifies a password for the corresponding
-username you use with -U. SYSTEM, "NT
-AUTHORITY\NetworkService", "NT
-AUTHORITY\LocalService" do not require a password.
-
-If you specify
-a user with even lower privileges than "NT
-AUTHORITY\NetworkService", you must specify its
-password. You also have to grant the "Log on as a
-service" right to that user.
-
-SIGNALS
-
-
-
-
-The following
-signals differ from the default behavior:
-SIGTERM, SIGINT
-
-These signals cause vlmcsd to
-exit gracefully. All global semaphores and shared memory
-pages will be released, the pid file will be unlinked
-(deleted) and a shutdown message will be logged.
-
-
-
- |
-
-
-
- SIGHUP |
- |
-
-
-
- Causes vlmcsd to be restarted completely. This is useful
-if you started vlmcsd with an ini file. You can modify the
-ini file while vlmcsd is running and then sending
-SIGHUP, e.g. by typing "killall -SIGHUP
-vlmcsd" or "kill -SIGHUP ’cat
-/var/run/vlmcsd.pid’". |
-
-
-The SIGHUP
-handler has been implemented relatively simple. It is
-virtually the same as stopping vlmcsd and starting it again
-immediately with the following exceptions:
-
-
-
- |
-
-
-
- — |
- |
-
-
-
- The new process does not get a
-new process id. |
-
- |
-
-
-
- — |
- |
-
-
-
- If you used a pid file, it is not deleted and recreated
-because the process id stays the same. |
-
- |
-
-
-
- — |
- |
-
-
-
- If you used the ’user’ and/or
-’group’ directive in an ini file these are
-ignored. This is because once you switched to lower
-privileged users and groups, there is no way back. Anything
-else would be a severe security flaw in the OS. |
-
-
-Signaling is
-not available in the native Windows version and in the
-Cygwin version when vlmcsd runs as a Windows service.
-
-SUPPORTED OPERATING SYSTEMS
-
-
-
-
-vlmcsd
-compiles and runs on Linux, Windows (no Cygwin required but
-explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD,
-Dragonfly BSD, Minix, Solaris, OpenIndiana, Android and iOS.
-Other POSIX or unixoid OSses may work with unmodified
-sources or may require minor porting efforts.
-
-SUPPORTED PRODUCTS
-
-
-
-
-vlmcsd
-can answer activation requests for the following products:
-Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10
-(up to 1703), Windows Server 2008, Windows Server 2008 R2,
-Windows Server 2012, Windows Server 2012 R2, Windows Server
-2016, Office 2010, Project 2010, Visio 2010, Office 2013,
-Project 2013, Visio 2013, Office 2016, Project 2016, Visio
-2016. Newer products may work as long as the KMS protocol
-does not change. A complete list of fully supported products
-can be obtained using the -x option of
-vlmcs(1).
-
-Office, Project
-and Visio must be volume license versions.
-
-FILES
-
-
-
-
-
-vlmcsd.ini(5)
-
-EXAMPLES
-
-
-
-
-vlmcsd
--De
-
-Starts vlmcsd in
-foreground. Useful if you use it for the first time and want
-to see what’s happening when a client requests
-activation.
-
-vlmcsd -l
-/var/log/vlmcsd.log
-
-Starts vlmcsd as a
-daemon and logs everything to /var/log/vlmcsd.log.
-
-vlmcsd -L
-192.168.1.17
-
-Starts vlmcsd as a
-daemon and listens on IP address 192.168.1.17 only. This is
-useful for routers that have a public and a private IP
-address to prevent your KMS server from becoming public.
-
-vlmcsd -s -U /n -l
-C:\logs\vlmcsd.log
-
-Installs vlmcsd as a
-Windows service with low privileges and logs everything to
-C:\logs\vlmcsd.log when the service is started with
-"net start vlmcsd".
-
-BUGS
-
-
-
-
-An ePID
-specified in an ini file must not contain spaces.
-
-AUTHOR
-
-
-
-
-Written by
-crony12, Hotbird64 and vityan666. With contributions from
-DougQaid.
-
-CREDITS
-
-
-
-
-Thanks to
-abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
-qad, Ratiborus, ...
-
-SEE ALSO
-
-
-
-
-
-vlmcsd.ini(5),
-vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
diff --git a/man/vlmcsd.8.pdf b/man/vlmcsd.8.pdf
deleted file mode 100644
index d341af8..0000000
Binary files a/man/vlmcsd.8.pdf and /dev/null differ
diff --git a/man/vlmcsd.8.unix.txt b/man/vlmcsd.8.unix.txt
deleted file mode 100644
index 9e17514..0000000
--- a/man/vlmcsd.8.unix.txt
+++ /dev/null
@@ -1,783 +0,0 @@
-VLMCSD(8) KMS Activation Manual VLMCSD(8)
-
-
-
-NAME
- vlmcsd - a fully Microsoft compatible KMS server
-
-
-SYNOPSIS
- vlmcsd [ options ]
-
-
-DESCRIPTION
- vlmcsd is a fully Microsoft compatible KMS server that provides product
- activation services to clients. It is meant as a drop-in replacement
- for a Microsoft KMS server (Windows computer with KMS key entered). It
- currently supports KMS protocol versions 4, 5 and 6.
-
- vlmcsd is designed to run on POSIX compatible operating systens. It
- only requires a basic C library with a BSD-style sockets API and either
- fork(2) or pthreads(7). That allows it to run on most embedded systems
- like routers, NASes, mobile phones, tablets, TVs, settop boxes, etc.
- Some efforts have been made that it also runs on Windows.
-
- Although vlmcsd does neither require an activation key nor a payment to
- anyone, it is not meant to run illegal copies of Windows. Its purpose
- is to ensure that owners of legal copies can use their software without
- restrictions, e.g. if you buy a new computer or motherboard and your
- key will be refused activation from Microsoft servers due to hardware
- changes.
-
- vlmcsd may be started via an internet superserver like inetd(8) or
- xinetd(8) as well as an advanced init system like systemd(8) or
- launchd(8) using socket based activation. If vlmcsd detects that
- stdin(3) is a socket, it assumes that there is already a connected
- client on stdin that wants to be activated.
-
- All options that control setting up listening sockets will be ignored
- when in inetd mode. The sockets will be set up by your internet super-
- server. You also cannot limit the number of simultanous clients (option
- -m). You need to configure the limit in your internet superserver.
-
- The followong features that require that vlmcsd is permanently loaded
- will not work if started from an internet superserver:
-
-
- You cannot maintain a client list (option -M1)
-
-
- EPID Randomization Level 1 (option -r1) works like Level 2
- (-r2). You may want to use Level 0 (-r0) or custom EPIDs
- (options -w, -G, -0, -3 and -6) instead.
-
-
-OPTIONS
- Since vlmcsd can be configured at compile time, some options may not be
- available on your system.
-
- All options that do no require an argument may be combined with a sin-
- gle dash, for instance "vlmcsd -D -e" is identical to "vlmcsd -De". For
- all options that require an argument a space between the option and the
- option argument is optional. Thus "vlmcsd -r 2" and "vlmcsd -r2" are
- identical too.
-
-
- -h or -?
- Displays help.
-
-
- -V Displays extended version information. This includes the com-
- piler used to build vlmcsd, the intended platform and flags
- (compile time options) to build vlmcsd. If you have the source
- code of vlmcsd, you can type make help (or gmake help on systems
- that do not use the GNU version of make(1) by default) to see
- the meaning of those flags.
-
-
- -L ipaddress[:port]
- Instructs vlmcsd to listen on ipaddress with optional port
- (default 1688). You can use this option more than once. If you
- do not specify -L at least once, IP addresses 0.0.0.0 (IPv4) and
- :: (IPv6) are used. If the IP address contains colons (IPv6) you
- must enclose the IP address in brackets if you specify the
- optional port, e.g. [2001:db8::dead:beef]:1688.
-
- If no port is specified, vlmcsd uses the default port according
- to a preceding -P option. If you specify a port, it can be a
- number (1-65535) or a name (usually found in /etc/services if
- not provided via LDAP, NIS+ or another name service).
-
- If you specify a link local IPv6 address (fe80::/10, usually
- starting with fe80::), it must be followed by a percent sign (%)
- and a scope id (=network interface name or number) on most
- unixoid OSses including Linux, Android, MacOS X and iOS, e.g.
- fe80::1234:56ff:fe78:9abc%eth0 or
- [fe80::1234:56ff:fe78:9abc%2]:1688. Windows (including cygwin)
- does not require a scope id unless the same link local address
- is used on more than one network interface. Windows does not
- accept a name and the scope id must be a number.
-
-
- -o level
- Sets the level of protection against activations from public IP
- addresses. The default is -o0 for no protection.
-
- -o1 causes vlmcsd not to listen on all IP addresses but on pri-
- vate IP addresses only. IPv4 addresses in the 100.64.0.0/10
- range (see RFC6598) are not treated as private since they can be
- reached from other users of your ISP. Private IPv4 addresses are
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 and
- 127.0.0.0/8. vlmcsd treats all IPv6 addresses not within
- 2000::/3 as private addresses.
-
- If -o1 is combined with -L, it will listen on all private IP
- addresses plus the ones specified by one or more -L statements.
- If -o1 is combined with -P, only the last -P statement will be
- used.
-
- Using -o1 does not protect you if you enable NAT port forwarding
- on your router to your vlmcsd machine. It is identical to using
- multiple -L statements with all of your private IP addresses.
- What -o1 does for you, is automatically enumerating your private
- IP addresses.
-
- -o2 does not affect the interfaces, vlmcsd is listening on. When
- a clients connects, vlmcsd immediately drops the connection if
- the client has a public IP address. Unlike -o1 clients will be
- able to establish a TCP connection but it will be closed without
- a single byte sent over the connection. This protects against
- clients with public IP addresses even if NAT port forwarding is
- used. While -o2 offers a higher level of protection than -o1,
- the client sees that the KMS TCP port (1688 by default) is actu-
- ally accepting connections.
-
- If vlmcsd is compiled to use MS RPC, -o2 can only offer very
- poor protection. Control is passed from MS RPC to vlmcsd after
- the KMS protocol has already been negotiated. Thus a client can
- always verify that the KMS protocol is available even though it
- receives an RPC_S_ACCESS_DENIED error message. vlmcsd will issue
- a warning if -o2 is used with MS RPC. For adaequate protection
- do not use a MS RPC build of vlmcsd with -o2.
-
- -o3 combines -o1 and -o2. vlmcsd listens on private interfaces
- only and if a public client manages to connect anyway due to NAT
- port forwarding, it will be immediately dropped.
-
- If you use any form of TCP level port forwarding (e.g. nc(1),
- netcat(1), ssh(1) port forwarding or similar) to redirect KMS
- requests to vlmcsd, there will be no protection even if you use
- -o2 or -o3. This is due to the simple fact that vlmcsd sees the
- IP address of the redirector and not the IP address of the
- client.
-
- -o1 (and thus -o3) is not (yet) available in some scenarios:
-
- FreeBSD: There is a longtime unfixed bug in the
- 32-bit ABI of the 64-bit kernel. If you have a 64-bit Free-
- BSD kernel, you must run the 64-bit version of vlmcsd if
- you use -o1 or -o3. The 32-bit version causes undefined
- behavior up to crashing vlmcsd. Other BSDs (NetBSD, Open-
- BSD, Dragonfly and Mac OS X) work correctly.
-
- If vlmcsd was started by an internet superserver or was
- compiled to use Microsoft RPC (Windows only) or simple
- sockets, -o1 and -o3 are not available by design.
-
-
- -P port
- Use TCP port for all subsequent -L statements that do not
- include an optional port. If you use -P and -L, -P must be spec-
- ified before -L.
-
-
- -O vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration]
- Enables a compatible VPN adapter to create additional local IPv4
- addresses (like 127.0.0.1) that appear as remote IPv4 addresses
- to the system. This allows product activation using a local
- instance of vlmcsd. This feature is only available in Windows
- and Cygwin builds of vlmcsd since it is not of any use on other
- operating systems. Compatible VPN adapters are Tap-windows ver-
- sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN
- adapter. There are two special vpn-adapter-names. A single
- period (.) instructs vlmcsd to use the first available compati-
- ble VPN adapter. A single dash (-) disables the use of a VPN
- adapter if one has been configured in vlmcsd.ini(5). The vpn-
- adapter-name is not case-sensitive. If the vpn-adapter-name con-
- tains spaces (e.g. Ethernet 3), you must enclose it in quotes.
-
- The default ipv4-address is 10.10.10.9 and the default cidr-mask
- is 30. If you are using the default values, your VPN adapter
- uses an IPv4 address of 10.10.10.9 and you can set your activa-
- tion client to use the easy to remember address 10.10.10.10
- (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs
- /sethst:10.10.10.10).
-
- The dhcp-lease-duration is a number optionally followed by s, m,
- h, d or w to indicate seconds, minutes, hours, days or weeks.
- The default dhcp-lease-duration is 1d (one day). It is normally
- not required to change this value.
-
- It is advised not to manually configure your OpenVPN TAP or
- TeamViewer VPN adapter in "Network Connections". If you set the
- IPv4 configuration manually anyway, the IPv4 address and the
- subnet mask must match the -O parameter. It is safe leave the
- IPv4 configuration to automatic (DHCP). vlmcsd will wait up to
- four seconds for the DHCP configuration to complete before bind-
- ing to and listenin on any interfaces.
-
- You should be aware that only one program can use a VPN adapter
- at a time. If you use the TeamViewer VPN adapter for example,
- you will not be able to use the VPN feature of TeamViewer as
- long as vlmcsd is running. The same applies to OpenVPN TAP
- adapters that are in use by other programs (for example OpenVPN,
- QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con-
- flicts is to install Tap-Windows from OpenVPN, cd to C:\Program
- Files\TAP-Windows\bin and run addtap.bat to install an addi-
- tional TAP adapter. Go to "Network Connections" and rename the
- new adapter to "vlmcsd" and specify -O vlmcsd to use it.
-
- Example: -O "Ethernet 7"=192.168.123.1/24 (uses VPN adapter Eth-
- ernet 7 with IPv4 address 192.168.123.1 and have 192.168.123.2
- to 192.168.123.254 as additional local (but apparently remote)
- IPv4 addresses.
-
-
- -x0 and -x1
- Controls under what circumstances vlmcsd will exit. Using the
- default of -x0 vlmcsd stays active as long as it can perform
- some useful operations. If vlmcsd is run by any form of a watch-
- dog, e.g. NT service manager (Windows), systemd (Linux) or
- launchd (Mac OS / iOS), it may be desirable to end vlmcsd and
- let the watchdog restart it. This is especially true if some
- pre-requisites are not yet met but will be some time later, e.g.
- network is not yet fully setup.
-
- By using -x0 vlmcsd will
-
- exit if none of the listening sockets specified with -L can
- be used. It continues if at least one socket can be setup
- for listening.
-
- exit any TAP mirror thread (Windows version only) if there
- is an error condition while reading or writing from or to
- the VPN adapter but continue to work without utilizing a
- VPN adapter.
-
- By using -x1 vlmcsd will
-
- exit if not all listening sockets specified with -L can be
- used.
-
- exit completely if there is a problem with a VPN adapter it
- is using. This can happen for instance if the VPN adapter
- has been disabled using "Control Panel - Network - Adapter
- Settings" while vlmcsd is using it.
-
-
- Please note that -x1 is kind of a workaround option. While it
- may help under some circumstances, it is better to solve the
- problem at its origin, e.g. properly implementing dependencies
- in your startup script to ensure all network interfaces and the
- VPN adapter you will use are completely setup before you start
- vlmcsd.
-
-
- -F0 and -F1
- Allow (-F1) or disallow (-F0) binding to IP addresses that are
- currently not configured on your system. The default is -F0. -F1
- allows you to bind to an IP address that may be configured after
- you started vlmcsd. vlmcsd will listen on that address as soon
- as it becomes available. This feature is only available under
- Linux (IPv4 and IPv6) and FreeBSD (IPv4 only). FreeBSD allows
- this feature only for the root user (more correctly: processes
- that have the PRIV_NETINET_BINDANY privilege). Linux does not
- require a capability for this.
-
-
- -t seconds
- Timeout the TCP connection with the client after seconds sec-
- onds. After sending an activation request. RPC keeps the TCP
- connection for a while. The default is 30 seconds. You may spec-
- ify a shorter period to free ressources on your device faster.
- This is useful for devices with limited main memory or if you
- used -m to limit the concurrent clients that may request activa-
- tion. Microsoft RPC clients disconnect after 30 seconds by
- default. Setting seconds to a greater value does not make much
- sense.
-
-
- -m concurrent-clients
- Limit the number of clients that will be handled concurrently.
- This is useful for devices with limited ressources or if you are
- experiencing DoS attacks that spawn thousands of threads or
- forked processes. If additional clients connect to vlmcsd, they
- need to wait until another client disconnects. If you set con-
- current-clients to a small value ( <10 ), you should also select
- a reasonable timeout of 2 or 3 seconds with -t. The default is
- no limit.
-
-
- -d Disconnect each client after processing one activation request.
- This is a direct violation of DCE RPC but may help if you
- receive malicous fake RPC requests that block your threads or
- forked processes. Some other KMS emulators (e.g. py-kms) behave
- this way.
-
-
- -k Do not disconnect clients after processing an activation
- request. This selects the default behavior. -k is useful only if
- you used an ini file (see vlmcsd.ini(5) and -i). If the ini file
- contains the line "DisconnectClientsImmediately = true", you can
- use this switch to restore the default behavior.
-
-
- -N0 and -N1
- Disables (-N0) or enables (-N1) the use of the NDR64 transfer
- syntax in the RPC protocol. Unlike Microsoft vlmcsd supports
- NDR64 on 32-bit operating systems. Microsoft introduced NDR64 in
- Windows Vista but their KMS servers started using it with Win-
- dows 8. Thus if you choose random ePIDs, vlmcsd will select
- ePIDs with build numbers 9200 and 9600 if you enable NDR64 and
- build numbers 6002 and 7601 if you disable NDR64. The default is
- to enable NDR64.
-
-
- -B0 and -B1
- Disables (-B0) or enables (-B1) bind time feature negotiation
- (BTFN) in the RPC protocol. All Windows operating systems start-
- ing with Vista support BTFN and try to negotiate it when initi-
- ating an RPC connection. Thus consider turning it off as a debug
- / troubleshooting feature only. Some older firewalls that selec-
- tively block or redirect RPC traffic may get confused when they
- detect NDR64 or BTFN.
-
-
- -l filename
- Use filename as a log file. The log file records all activations
- with IP address, Windows workstation name (no reverse DNS
- lookup), activated product, KMS protocol, time and date. If you
- do not specify a log file, no log is created. For a live view of
- the log file type tail -f file.
-
- If you use the special filename "syslog", vlmcsd uses syslog(3)
- for logging. If your system has no syslog service (/dev/log)
- installed, logging output will go to /dev/console. Syslog log-
- ging is not available in the native Windows version. The Cygwin
- version does support syslog logging.
-
-
- -T0 and -T1
- Disable (-T0) or enable (-T1) the inclusion of date and time in
- each line of the log. The default is -T1. -T0 is useful if you
- log to stdout(3) which is redirected to another logging mecha-
- nism that already includes date and time in its output, for
- instance systemd-journald(8). If you log to syslog(3), -T1 is
- ignored and date and time will never be included in the output
- sent to syslog(3).
-
-
- -D Normally vlmcsd daemonizes and runs in background (except the
- native Windows version). If -D is specified, vlmcsd does not
- daemonize and runs in foreground. This is useful for testing and
- allows you to simply press to exit vlmcsd.
-
- The native Windows version never daemonizes and always behaves
- as if -D had been specified. You may want to install vlmcsd as a
- service instead. See -s.
-
-
- -e If specified, vlmcsd ignores -l and writes all logging output to
- stdout(3). This is mainly useful for testing and debugging and
- often combined with -D.
-
-
- -v Use verbose logging. Logs every parameter of the base request
- and the base response. It also logs the HWID of the KMS server
- if KMS protocol version 6 is used. This option is mainly for
- debugging purposes. It only has an effect if some form of log-
- ging is used. Thus -v does not make sense if not used with -l,
- -e or -f.
-
-
- -q Do not use verbose logging. This is actually the default behav-
- ior. It only makes sense if you use vlmcsd with an ini file (see
- -i and vlmcsd.ini(5)). If the ini file contains the line
- "LogVerbose = true" you can use -q to restore the default behav-
- ior.
-
-
- -p filename
- Create pid file filename. This has nothing to do with KMS ePIDs.
- A pid file is a file where vlmcsd writes its own process id.
- This is used by standard init scripts (typically found in
- /etc/init.d). The default is not to write a pid file.
-
-
- -u user and -g group
- Causes vlmcsd to run in the specified user and group security
- context. The main purpose for this is to drop root privileges
- after it has been started from the root account. To use this
- feature from cygwin you must run cyglsa-config and the account
- from which vlmcsd is started must have the rights "Act as part
- of the operating system" and "Replace a process level token".
- The native Windows version does not support these options.
-
- The actual security context switch is performed after the TCP
- sockets have been created. This allows you to use privileged
- ports (< 1024) when you start vlmcsd from the root account.
-
- However if you use an ini, pid or log file, you must ensure that
- the unprivileged user has access to these files. You can always
- log to syslog(3) from an unprivileged account on most platforms
- (see -l).
-
-
- -a CSVLK = ePID [ / HwId ]
- Use ePID and HwId for a specific CSVLK. When you use it, -r is
- disregarded for this CSVLK. If vlmcsd uses the default vlm-
- csd.kmd database, you can use the following CSVLKs: Windows,
- WinChinaGov, Office2010, Office2013, Office2016 and Office2019.
- The -a option requires that database version 1.6 or later is
- used.
-
- HwId must be specified as 16 hex digits that are interpreted as
- a series of 8 bytes (big endian). Any character that is not a
- hex digit will be ignored. This is for better readability.
-
-
- -i filename
- Use configuration file (aka ini file) filename. Most configura-
- tion parameters can be set either via the command line or an ini
- file. The command line always has precedence over configuration
- items in the ini file. See vlmcsd.ini(5) for the format of the
- configuration file.
-
- If vlmcsd has been compiled to use a default configuration file
- (often /etc/vlmcsd.ini), you may use -i- to ignore the default
- configuration file.
-
-
- -j filename
- Use KMS data file filename. By default vlmcsd only contains the
- minimum product data that is required to perform all operations
- correctly. You may use a more complete KMS data file that con-
- tains all detailed product names. This is especially useful if
- you are logging KMS requests. If you don't log, there is no need
- to load an external KMS data file.
-
- If vlmcsd has been compiled to use a default KMS data file, you
- may use -j- to ignore the default configuration file.
-
-
- -r0, -r1 (default) and -r2
- These options determine how ePIDs are generated if
-
- - you did not sprecify an ePID in the command line and
- - you haven't used -i or
- - the file specified by -i cannot be opened or
- - the file specified by -i does not contain an ePID for the KMS
- request
-
- -r0 means there are no random ePIDs. vlmcsd simply issues
- default ePIDs that are built into the binary at compile time.
- Pro: behaves like real KMS server that also always issues the
- same ePID. Con: Microsoft may start blacklisting again and the
- default ePID may not work any longer.
-
- -r1 instructs vlmcsd to generate random ePIDs when the program
- starts or receives a SIGHUP signal and uses these ePIDs until it
- is stopped or receives another SIGHUP. Most other KMS emulators
- generate a new ePID on every KMS request. This is easily
- detectable. Microsoft could just modify sppsvc.exe in a way that
- it always sends two identical KMS requests in two RPC requests
- but over the same TCP connection. If both KMS responses contain
- the different ePIDs, the KMS server is not genuine. -r1 is the
- default mode. -r1 also ensures that all three ePIDs (Windows,
- Office 2010 and Office 2013) use the same OS build number and
- LCID (language id).
-
- If vlmcsd has been started by an internet superserver, -r1 works
- almost identically to -r2. The only exception occurs if you send
- more than one activation request over the same TCP connection.
- This is simply due to the fact that vlmcsd is started upon a
- connection request and does not stay in memory after servicing a
- KMS request. Consider using -r0 or -w, -G, -0, -3 and -6 when
- starting vlmcsd by an internet superserver.
-
- -r2 behaves like most other KMS server emulators with random
- support and generates a new random ePID on every request. -r2
- should be treated as debugging option only because it allows
- very easy emulator detection.
-
-
- -C LCID
- Do not randomize the locale id part of the ePID and use LCID
- instead. The LCID must be specified as a decimal number, e.g.
- 1049 for "Russian - Russia". This option has no effect if the
- ePID is not randomized at all, e.g. if it is selected from the
- command line or an ini file.
-
- By default vlmcsd generates a valid locale id that is recognized
- by .NET Framework 4.0. This may lead to a locale id which is
- unlikely to occur in your country, for instance 2155 for "Quecha
- - Ecuador". You may want to select the locale id of your country
- instead. See MSDN for a list of valid LCIDs. Please note that some
- of them are not recognized by .NET Framework 4.0.
-
- Most other KMS emulators use a fixed LCID of 1033 (English -
- US). To achive the same behavior in vlmcsd use -C 1033.
-
-
- -H HostBuild
- Do not randomize the host build number in the ePID and use Host-
- Build instead, for instance 17763 for Windows Server 2019 / Win-
- dows 10 1809.
-
-
- -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.
-
-
- -M0 and -M1
- Disables (-M0) or enables (-M1) maintaining a list of client
- machine IDs (CMIDs). The default is -M0. -M1 is useful to pre-
- vent emulator detection. By maintaing a CMID list, vlmcsd
- reports current active clients exactly like a genuine KMS emula-
- tor. This includes bug compatibility to the extent that you can
- permanently kill a genuine KMS emulator by sending an "over-
- charge request" with a required client count of 376 or more and
- then request activation for 671 clients. vlmcsd can be reset
- from this condition by restarting it. If -M0 is used, vlmcsd
- reports current active clients as good as possible. If no client
- sends an "overcharge request", it is not possible to detect vlm-
- csd as an emulator with -M0. -M1 requires the allocation of a
- buffer that is about 50 kB in size. On hardware with few memory
- resources use it only if you really need it.
-
- If you start vlmcsd from an internet superserver, -M1 cannot be
- used. Since vlmcsd exits after each activation, it cannot main-
- tain any state in memory.
-
-
- -E0 and -E1
- These options are ignored if you do not also specify -M1. If you
- use -E0 (the default), vlmcsd starts up as a fully "charged" KMS
- server. Clients activate immediately. -E1 lets you start up vlm-
- csd with an empty CMID list. Activation will start when the
- required minimum clients (25 for Windows Client OSses, 5 for
- Windows Server OSses and Office) have registered with the KMS
- server. As long as the minimum client count has not been
- reached, clients end up in HRESULT 0xC004F038 "The count
- reported by your Key Management Service (KMS) is insufficient.
- Please contact your system administrator". You may use vlmcs(1)
- or another KMS client emulator to "charge" vlmcsd. -E1 does not
- improve emulator detection prevention. It's primary purpose is
- to help developers of KMS clients to test "charging" a KMS
- server.
-
-
- -R renewal-interval
- Instructs clients to renew activation every renewal-interval.
- The renewal-interval is a number optionally immediately followed
- by a letter indicating the unit. Valid unit letters are s (sec-
- onds), m (minutes), h (hours), d (days) and w (weeks). If you do
- not specify a letter, minutes is assumed.
-
- -R3d for instance instructs clients to renew activation every 3
- days. The default renewal-interval is 10080 (identical to 7d and
- 1w).
-
- Due to poor implementation of Microsofts KMS Client it cannot be
- guaranteed that activation is renewed on time as specfied by the
- -R option. Don't care about that. Renewal will happen well
- before your activation expires (usually 180 days).
-
- Even though you can specify seconds, the granularity of this
- option is 1 minute. Seconds are rounded down to the next multi-
- ple of 60.
-
-
- -A activation-interval
- Instructs clients to retry activation every activation-interval
- if it was unsuccessful, e.g. because it could not reach the
- server. The default is 120 (identical to 2h). activation-inter-
- val follows the same syntax as renewal-interval in the -R
- option.
-
-
- -s Installs vlmcsd as a Windows service. This option only works
- with the native Windows version and Cygwin. Combine -s with
- other command line options. These will be in effect when you
- start the service. The service automatically starts when you
- reboot your machine. To start it manually, type "net start vlm-
- csd".
-
- If you use Cygwin, you must include your Cygwin system DLL
- directory (usually C:\Cygwin\bin or C:\Cygwin64\bin) into the
- PATH environment variable or the service will not start.
-
- You can reinstall the service anytime using vlmcsd -s again,
- e.g. with a different command line. If the service is running,
- it will be restarted with the new command line.
-
- When using -s the command line is checked for basic syntax
- errors only. For example "vlmcsd -s -L 1.2.3.4" reports no error
- but the service will not start if 1.2.3.4 is not an IP address
- on your system.
-
-
- -S Uninstalls the vlmcsd service. Works only with the native Win-
- dows version and Cygwin. All other options will be ignored if
- you include -S in the command line.
-
-
- -U [domain\]username
- Can only be used together with -s. Starts the service as a dif-
- ferent user than the local SYSTEM account. This is used to run
- the service under an account with low privileges. If you omit
- the domain, an account from the local computer will be used.
-
- You may use "NT AUTHORITY\NetworkService". This is a pseudo user
- with low privileges. You may also use "NT AUTHORITY\LocalSer-
- vice" which has more privileges but these are of no use for run-
- ning vlmcsd.
-
- Make sure that the user you specify has at least execute permis-
- sion for your executable. "NT AUTHORITY\NetworkService" normally
- has no permission to run binaries from your home directory.
-
- For your 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 ser-
- vice to run as "NT AUTHORITY\NetworkService".
-
-
- -W password
- Can only be used together with -s. Specifies a password for the
- corresponding username you use with -U. SYSTEM, "NT AUTHOR-
- ITY\NetworkService", "NT AUTHORITY\LocalService" do not require
- a password.
-
- If you specify a user with even lower privileges than "NT
- AUTHORITY\NetworkService", you must specify its password. You
- also have to grant the "Log on as a service" right to that user.
-
-
-SIGNALS
- The following signals differ from the default behavior:
-
-
- SIGTERM, SIGINT
- These signals cause vlmcsd to exit gracefully. All global sema-
- phores and shared memory pages will be released, the pid file
- will be unlinked (deleted) and a shutdown message will be
- logged.
-
-
- SIGHUP Causes vlmcsd to be restarted completely. This is useful if you
- started vlmcsd with an ini file. You can modify the ini file
- while vlmcsd is running and then sending SIGHUP, e.g. by typing
- "killall -SIGHUP vlmcsd" or "kill -SIGHUP `cat /var/run/vlm-
- csd.pid`".
-
- The SIGHUP handler has been implemented relatively simple. It is
- virtually the same as stopping vlmcsd and starting it again
- immediately with the following exceptions:
-
-
- -- The new process does not get a new process id.
-
- -- If you used a pid file, it is not deleted and recreated
- because the process id stays the same.
-
- -- If you used the 'user' and/or 'group' directive in an ini
- file these are ignored. This is because once you switched to
- lower privileged users and groups, there is no way back. Any-
- thing else would be a severe security flaw in the OS.
-
- Signaling is not available in the native Windows version and in the
- Cygwin version when vlmcsd runs as a Windows service.
-
-
-SUPPORTED OPERATING SYSTEMS
- vlmcsd compiles and runs on Linux, Windows (no Cygwin required but
- explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD, Dragonfly
- BSD, Minix, Solaris, OpenIndiana, Android and iOS. Other POSIX or
- unixoid OSses may work with unmodified sources or may require minor
- porting efforts.
-
-
-SUPPORTED PRODUCTS
- vlmcsd can answer activation requests for the following products: Win-
- dows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 (up to 1703),
- Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Win-
- dows Server 2012 R2, Windows Server 2016, Office 2010, Project 2010,
- Visio 2010, Office 2013, Project 2013, Visio 2013, Office 2016, Project
- 2016, Visio 2016. Newer products may work as long as the KMS protocol
- does not change. A complete list of fully supported products can be
- obtained using the -x option of vlmcs(1).
-
- Office, Project and Visio must be volume license versions.
-
-
-FILES
- vlmcsd.ini(5)
-
-
-EXAMPLES
- vlmcsd -De
- Starts vlmcsd in foreground. Useful if you use it for the first
- time and want to see what's happening when a client requests
- activation.
-
-
- vlmcsd -l /var/log/vlmcsd.log
- Starts vlmcsd as a daemon and logs everything to /var/log/vlm-
- csd.log.
-
-
- vlmcsd -L 192.168.1.17
- Starts vlmcsd as a daemon and listens on IP address 192.168.1.17
- only. This is useful for routers that have a public and a pri-
- vate IP address to prevent your KMS server from becoming public.
-
-
- vlmcsd -s -U /n -l C:\logs\vlmcsd.log
- Installs vlmcsd as a Windows service with low privileges and
- logs everything to C:\logs\vlmcsd.log when the service is
- started with "net start vlmcsd".
-
-
-BUGS
- An ePID specified in an ini file must not contain spaces.
-
-
-AUTHOR
- Written by crony12, Hotbird64 and vityan666. With contributions from
- DougQaid.
-
-
-CREDITS
- Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
- qad, Ratiborus, ...
-
-
-SEE ALSO
- vlmcsd.ini(5), vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
-Hotbird64 October 2018 VLMCSD(8)
diff --git a/man/vlmcsd.ini.5.dos.txt b/man/vlmcsd.ini.5.dos.txt
deleted file mode 100644
index f840d0a..0000000
--- a/man/vlmcsd.ini.5.dos.txt
+++ /dev/null
@@ -1,486 +0,0 @@
-VLMCSD.INI(5) KMS Activation Manual VLMCSD.INI(5)
-
-
-
-NAME
- vlmcsd.ini - vlmcsd KMS emulator configuration file
-
-
-SYNOPSIS
- vlmcsd.ini
-
-
-DESCRIPTION
- vlmcsd.ini (or simply called the "ini file") is a configuration file
- for vlmcsd(8). By default vlmcsd does not use a configuration file. It
- is completely optional and for advanced users only. You must use the -i
- option on the vlmcsd command line to use an ini file. There is no
- default name or default location for the ini file.
-
- Everything, that can be configured in the ini file, may also be speci-
- fied on the command line. Any configuration option specified on the
- command line takes precedence over the respective configuration line in
- the ini file.
-
- Benefits of a configuration file
-
- While you can use the configuration file to simply modify the default
- behavior of vlmcsd, it can also be used to change the configuration of
- vlmcsd after you sent a HUP signal(7). Whenever you send SIGHUP, the
- configuration file will be re-read. Any changes you made to the ini
- file will be reflected after vlmcsd received the hangup signal.
-
- Differences between command line and configuration file
-
- If you specify an illegal option or option argument on the command
- line, vlmcsd displays help and exits. If you specify an incorrect key-
- word or argument in the ini file, vlmcsd displays a warning with some
- information, ignores the respective line and continues. This is inten-
- tional and prevents vlmcsd from aborting after a SIGHUP if the configu-
- ration was modified incorrectly.
-
-
-SYNTAX
- vlmcsd.ini is a UTF-8 encoded text file with each line being in the
- format keyword = argument. The keyword is not case-sensitive. The argu-
- ment is treated literally. It is neither required nor allowed to
- enclose the argument in any form of quote characters except when quote
- characters are part of the argument itself. Whitespace characters are
- ignored only
-
- - at the beginning of a line
- - between the keyword and '='
- - between '=' and the argument
-
- Lines, that start with '#' or ';' are treated as comments. Empty lines
- are ignored as well. If a keyword is repeated in another line, vlmcsd
- will use the argument of the last occurence of the keyword. An excep-
- tion to this is the Listen keyword which can be specified multiple
- times and causes vlmcsd to listen on more than one IP address and/or
- port.
-
- Some arguments are binary arguments that need to be either TRUE or
- FALSE. You can use "Yes", "On" or "1" as an alias for TRUE and "No",
- "Off" or "0" as an alias for FALSE. Binary arguments are case-insensi-
- tive.
-
-
-KEYWORDS
- The following keywords are defined (not all keywords may be available
- depending on the operating system and the options used when vlmcsd(8)
- was compiled):
-
-
- Listen This defines on what combinations of IP addresses and ports vlm-
- csd should listen. Listen can be specified more than once. The
- argument has the form ipaddress[:port]. If you omit the port,
- the default port of 1688 is used. If the ipaddress contains
- colons and a port is used, you must enclose the ipaddress in
- brackets. The default is to listen to 0.0.0.0:1688 and [::]:1688
- which means listen to all IPv4 and all IPv6 addresses. See the
- -L option in vlmcsd(8) for more info about the syntax. If you
- use -L or -P on the command line, all Listen keywords in the ini
- file will be ignored. The Listen keyword cannot be used if vlm-
- csd has been compiled to use Microsoft RPC (Windows and Cygwin
- only) or simple sockets.
-
- Examples:
-
- Listen = 192.168.1.123:1688
- Listen = 0.0.0.0:1234
- Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688
-
-
- Port Can only be used if vlmcsd has been compiled to use simple sock-
- ets or on Windows and Cygwin if vlmcsd(8) has been compiled to
- use Microsoft RPC. Otherwise you must use Listen instead. Causes
- vlmcsd to listen on that port instead of 1688.
-
-
- FreeBind
- Can be TRUE or FALSE. If TRUE, you can use the Listen keyword
- with IP addresses that are currently not defined on your system.
- vlmcsd(8) will start listening on these IP addresses as soon as
- they become available. This keyword is only available under
- Linux and FreeBSD because no other OS currently supports that
- feature. FreeBSD supports this only for IPv4 and requires the
- PRIV_NETINET_BINDANY privilege which is normally assigned to
- proccesses of the root user.
-
-
- PublicIPProtectionLevel
- Set the level of protection against KMS activations from public
- IP addresses.
-
- 0 = No protection (default)
- 1 = Listen on private IP addresses only (plus those specified by
- one or more Listen statements)
- 2 = Disconnect clients with public IP addresses without activat-
- ing
- 3 = Combines 1 and 2
-
- For details on public IP protection levels see vlmcsd(8) command
- line option -o.
-
-
- VPN Has to be in the form vpn-adapter-name[=ipv4-address][/cidr-
- mask][:dhcp-lease-duration].
-
- Enables a compatible VPN adapter to create additional local IPv4
- addresses (like 127.0.0.1) that appear as remote IPv4 addresses
- to the system. This allows product activation using a local
- instance of vlmcsd. This feature is only available in Windows
- and Cygwin builds of vlmcsd since it is not of any use on other
- operating systems. Compatible VPN adapters are Tap-windows ver-
- sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN
- adapter. There is a special vpn-adapter-name. A single period
- (.) instructs vlmcsd to use the first available compatible VPN
- adapter. The vpn-adapter-name is not case-sensitive. If the vpn-
- adapter-name contains spaces (e.g. Ethernet 3), do not enclose
- it in quotes.
-
- The default ipv4-address is 10.10.10.9 and the default cidr-mask
- is 30. If you are using the default values, your VPN adapter
- uses an IPv4 address of 10.10.10.9 and you can set your activa-
- tion client to use the easy to remember address 10.10.10.10
- (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs
- /sethst:10.10.10.10).
-
- The dhcp-lease-duration is a number optionally followed by s, m,
- h, d or w to indicate seconds, minutes, hours, days or weeks.
- The default dhcp-lease-duration is 1d (one day). It is normally
- not required to change this value.
-
- It is advised not to manually configure your OpenVPN TAP or
- TeamViewer VPN adapter in "Network Connections". If you set the
- IPv4 configuration manually anyway, the IPv4 address and the
- subnet mask must match the VPN= directive. It is safe leave the
- IPv4 configuration to automatic (DHCP). vlmcsd will wait up to
- four seconds for the DHCP configuration to complete before bind-
- ing to and listenin on any interfaces.
-
- You should be aware that only one program can use a VPN adapter
- at a time. If you use the TeamViewer VPN adapter for example,
- you will not be able to use the VPN feature of TeamViewer as
- long as vlmcsd is running. The same applies to OpenVPN TAP
- adapters that are in use by other programs (for example OpenVPN,
- QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con-
- flicts is to install Tap-Windows from OpenVPN, cd to C:\Program
- Files\TAP-Windows\bin and run addtap.bat to install an addi-
- tional TAP adapter. Go to "Network Connections" and rename the
- new adapter to "vlmcsd" and specify VPN=vlmcsd to use it.
-
-
- ExitLevel
- Can be either 0 (the default) or 1. Controls under what circum-
- stances vlmcsd will exit. Using the default of 0 vlmcsd stays
- active as long as it can perform some useful operations. If vlm-
- csd is run by any form of a watchdog, e.g. NT service manager
- (Windows), systemd (Linux) or launchd (Mac OS / iOS), it may be
- desirable to end vlmcsd and let the watchdog restart it. This is
- especially true if some pre-requisites are not yet met but will
- be some time later, e.g. network is not yet fully setup.
-
- By using ExitLevel = 0 vlmcsd will
-
- exit if none of the listening sockets specified with -L can
- be used. It continues if at least one socket can be setup
- for listening.
-
- exit any TAP mirror thread (Windows version only) if there
- is an error condition while reading or writing from or to
- the VPN adapter but continue to work without utilizing a
- VPN adapter.
-
- By using ExitLevel = 1 vlmcsd will
-
- exit if not all listening sockets specified with -L can be
- used.
-
- exit completely if there is a problem with a VPN adapter it
- is using. This may happen for instance if the VPN adapter
- has been disabled using "Control Panel - Network - Adapter
- Settings" while vlmcsd is using it.
-
-
- Please note that ExitLevel = 1 is kind of a workaround option.
- While it may help under some circumstances, it is better to
- solve the problem at its origin, e.g. properly implementing
- dependencies in your startup script to ensure all network inter-
- faces and the VPN adapter you will use are completely setup
- before you start vlmcsd.
-
-
- UseNDR64
- Can be TRUE or FALSE. Specifies whether you want to use the
- NDR64 transfer syntax. See options -n0 and -n1 in vlmcsd(8). The
- default is TRUE.
-
-
- UseBTFN
- Can be TRUE or FALSE. Specifies whether you want to use bind
- time feature negotiation in RPC. See options -b0 and -b1 in vlm-
- csd(8). The default is TRUE.
-
-
- RandomizationLevel
- The argument must 0, 1 or 2. This specifies the ePID randomiza-
- tion level. See options -r0, -r1 and -r2 in vlmcsd(8). The
- default randomization level is 1. A RandomizationLevel of 2 is
- not recommended and should be treated as a debugging level.
-
-
- LCID Use a specific culture id (LCID) even if the ePID is 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.micro-
- soft.com/en-us/goglobal/bb964664.aspx. On the command line you
- control this setting with option -C.
-
-
- HostBuild
- Use a specific host build number in the ePID even if it is ran-
- domized. The argument must be a number between 1 and 65535.
- While you can use any number you should only use build numbers
- that a released build numbers of Windows Servers, e.g. 17763 for
- Windows Server 2019.
-
-
- MaxWorkers
- The argument specifies the maximum number of worker processes or
- threads that will be used to serve activation requests concur-
- rently. This is the same as specifying -m on the command line.
- Minimum is 1. The maximum is platform specific and is at least
- 32767 but is likely to be greater on most systems. The default
- is no limit.
-
-
- ConnectionTimeout
- Used to control when the vlmcsd disconnects idle TPC connec-
- tions. The default is 30 seconds. This is the same setting as -t
- on the command line.
-
-
- DisconnectClientsImmediately
- Set this to TRUE to disconnect a client after it got an activa-
- tion response regardless whether a timeout has occured or not.
- The default is FALSE. Setting this to TRUE is non-standard
- behavior. Use only if you are experiencing DoS or DDoS attacks.
- On the command line you control this behavior with options -d
- and -k.
-
-
- PidFile
- Write a pid file. The argument is the full pathname of a pid
- file. The pid file contains is single line containing the
- process id of the vlmcsd process. It can be used to stop
- (SIGTERM) or restart (SIGHUP) vlmcsd. This directive can be
- overriden using -p on the command line.
-
-
- LogFile
- Write a log file. The argument is the full pathname of a log
- file. On a unixoid OS and with Cygwin you can use the special
- filename 'syslog' to log to the syslog facility. This is the
- same as specifying -l on the command line.
-
-
- KmsData
- Use a KMS data file. The argument is the full pathname of a KMS
- data file. By default vlmcsd only contains the minimum product
- data that is required to perform all operations correctly. You
- may use a more complete KMS data file that contains all detailed
- product names. This is especially useful if you are logging KMS
- requests. If you don't log, there is no need to load an external
- KMS data file.
-
- You may use KmsData = - to prevent the default KMS data file to
- be loaded.
-
-
- LogDateAndTime
- Can be TRUE or FALSE. The default is TRUE. If set to FALSE, log-
- ging output does not include date and time. This is useful if
- you log to stdout(3) which is redirected to another logging
- mechanism that already includes date and time in its output, for
- instance systemd-journald(8). If you log to syslog(3), LogDate-
- AndTime is ignored and date and time will never be included in
- the output sent to syslog(3). Using the command line you control
- this setting with options -T0 and -T1.
-
-
- LogVerbose
- 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
- -v and -q in the command line to control this setting. LogVer-
- bose 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 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).
-
-
- MaintainClients
- Can be TRUE or FALSE (the default). Disables (FALSE) or enables
- (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is
- useful to prevent emulator detection. By maintaing a CMID list,
- vlmcsd(8) reports current active clients exactly like a genuine
- KMS emulator. This includes bug compatibility to the extent that
- you can permanently kill a genuine KMS emulator by sending an
- "overcharge request" with a required client count of 376 or more
- and then request activation for 671 clients. vlmcsd(8) can be
- reset from this condition by restarting it. If FALSE is used,
- vlmcsd(8) reports current active clients as good as possible. If
- no client sends an "overcharge request", it is not possible to
- detect vlmcsd(8) as an emulator with MaintainClients = FALSE.
- Maintaining clients requires the allocation of a buffer that is
- about 50 kB in size. On hardware with few memory resources use
- it only if you really need it.
-
- If you start vlmcsd(8) from an internet superserver, this set-
- ting cannot be used. Since vlmcsd(8) exits after each activa-
- tion, it cannot maintain any state in memory.
-
-
- StartEmpty
- This setting is ignored if you do not also specify Maintain-
- Clients = TRUE. If you specify FALSE (the default), vlmcsd(8)
- starts up as a fully "charged" KMS server. Clients activate
- immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with
- an empty CMID list. Activation will start when the required min-
- imum clients (25 for Windows Client OSses, 5 for Windows Server
- OSses and Office) have registered with the KMS server. As long
- as the minimum client count has not been reached, clients end up
- in HRESULT 0xC004F038 "The count reported by your Key Management
- Service (KMS) is insufficient. Please contact your system admin-
- istrator". You may use vlmcs(1) or another KMS client emulator
- to "charge" vlmcsd(8). Setting this parameter to TRUE does not
- improve emulator detection prevention. It's primary purpose is
- to help developers of KMS clients to test "charging" a KMS
- server.
-
-
- ActivationInterval
- 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-
- 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
- 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
- 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
- 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'
- 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
- changed on the fly by sending SIGHUP to vlmcsd.
-
-
-
- The argument has the form ePID [ / HwId ]. Always use ePID and
- HwId for activations with . If specified, Randomiza-
- tionLevel for the will be ignored. With the default
- vlmcsd.kmd database you can use the following s:
- Windows, Office2010, Office2013, Office2016, Office2019 and
- WinChinaGov. While vlmcsd is compatible with older databases,
- you must use at least database version 1.6 for this feature to
- work.
-
-
-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 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
- 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
- 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
- quotes even if it contains spaces.
-
-
-FILES
- vlmcsd.ini(5)
-
-
-AUTHOR
- vlmcsd(8) was written by crony12, Hotbird64 and vityan666. With contri-
- butions from DougQaid.
-
-
-CREDITS
- Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
- qad, Ratiborus, ...
-
-
-SEE ALSO
- vlmcsd(8), vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
-Hotbird64 October 2018 VLMCSD.INI(5)
diff --git a/man/vlmcsd.ini.5.html b/man/vlmcsd.ini.5.html
deleted file mode 100644
index d06a53a..0000000
--- a/man/vlmcsd.ini.5.html
+++ /dev/null
@@ -1,726 +0,0 @@
-
-
-
-
-
-
-
-
-
-VLMCSD.INI
-
-
-
-
-VLMCSD.INI
-
-NAME
-SYNOPSIS
-DESCRIPTION
-SYNTAX
-KEYWORDS
-VALID EPIDS
-FILES
-AUTHOR
-CREDITS
-SEE ALSO
-
-
-
-
-NAME
-
-
-
-
-
-vlmcsd.ini
-- vlmcsd KMS emulator configuration file
-
-SYNOPSIS
-
-
-
-
-
-vlmcsd.ini
-
-DESCRIPTION
-
-
-
-
-
-vlmcsd.ini
-(or simply called the "ini file") is a
-configuration file for vlmcsd(8). By default vlmcsd
-does not use a configuration file. It is completely optional
-and for advanced users only. You must use the -i
-option on the vlmcsd command line to use an ini file. There
-is no default name or default location for the ini file.
-
-Everything,
-that can be configured in the ini file, may also be
-specified on the command line. Any configuration option
-specified on the command line takes precedence over the
-respective configuration line in the ini file.
-
-Benefits of
-a configuration file
-
-While you can
-use the configuration file to simply modify the default
-behavior of vlmcsd, it can also be used to change the
-configuration of vlmcsd after you sent a HUP
-signal(7). Whenever you send SIGHUP, the
-configuration file will be re-read. Any changes you made to
-the ini file will be reflected after vlmcsd received the
-hangup signal.
-
-Differences
-between command line and configuration file
-
-If you specify
-an illegal option or option argument on the command line,
-vlmcsd displays help and exits. If you specify an incorrect
-keyword or argument in the ini file, vlmcsd
-displays a warning with some information, ignores the
-respective line and continues. This is intentional and
-prevents vlmcsd from aborting after a SIGHUP if the
-configuration was modified incorrectly.
-
-SYNTAX
-
-
-
-
-vlmcsd.ini is a
-UTF-8 encoded text file with each line being in the format
-keyword = argument. The keyword is not
-case-sensitive. The argument is treated literally. It
-is neither required nor allowed to enclose the
-argument in any form of quote characters except when
-quote characters are part of the argument itself. Whitespace
-characters are ignored only
-
-- at the
-beginning of a line
-- between the keyword and ’=’
-- between ’=’ and the argument
-
-Lines, that
-start with ’#’ or ’;’ are treated as
-comments. Empty lines are ignored as well. If a
-keyword is repeated in another line, vlmcsd will use
-the argument of the last occurence of the
-keyword. An exception to this is the Listen
-keyword which can be specified multiple times and
-causes vlmcsd to listen on more than one IP address and/or
-port.
-
-Some
-arguments are binary arguments that need to be either
-TRUE or FALSE. You can use "Yes", "On"
-or "1" as an alias for TRUE and "No",
-"Off" or "0" as an alias for FALSE.
-Binary arguments are case-insensitive.
-
-KEYWORDS
-
-
-
-
-The following
-keywords are defined (not all keywords may be
-available depending on the operating system and the options
-used when vlmcsd(8) was compiled):
-
-
-
- |
-
-
-
- Listen |
- |
-
-
-
- This defines on what combinations of IP addresses and
-ports vlmcsd should listen. Listen can be specified
-more than once. The argument has the form
-ipaddress[:port]. If you omit the port,
-the default port of 1688 is used. If the ipaddress
-contains colons and a port is used, you must enclose
-the ipaddress in brackets. The default is to listen
-to 0.0.0.0:1688 and [::]:1688 which means listen to all IPv4
-and all IPv6 addresses. See the -L option in
-vlmcsd(8) for more info about the syntax. If you use
--L or -P on the command line, all
-Listen keywords in the ini file will be ignored. The
-Listen keyword cannot be used if vlmcsd has been
-compiled to use Microsoft RPC (Windows and Cygwin only) or
-simple sockets. |
-
-
-Examples:
-
-Listen =
-192.168.1.123:1688
-Listen = 0.0.0.0:1234
-Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688
-
-
-
- |
-
-
-
- Port |
- |
-
-
-
- Can only be used if vlmcsd has
-been compiled to use simple sockets or on Windows and Cygwin
-if vlmcsd(8) has been compiled to use Microsoft RPC.
-Otherwise you must use Listen instead. Causes vlmcsd
-to listen on that port instead of 1688. |
-
-
-FreeBind
-
-Can be TRUE or FALSE. If TRUE,
-you can use the Listen keyword with IP addresses that
-are currently not defined on your system. vlmcsd(8)
-will start listening on these IP addresses as soon as they
-become available. This keyword is only available under Linux
-and FreeBSD because no other OS currently supports that
-feature. FreeBSD supports this only for IPv4 and requires
-the PRIV_NETINET_BINDANY privilege which is normally
-assigned to proccesses of the root user.
-
-
-PublicIPProtectionLevel
-
-Set the level of protection
-against KMS activations from public IP addresses.
-
-0 = No
-protection (default)
-1 = Listen on private IP addresses only (plus
-those specified by one or more Listen statements)
-
-2 = Disconnect clients with public IP addresses
-without activating
-3 = Combines 1 and 2
-
-For details on
-public IP protection levels see vlmcsd(8) command
-line option -o.
-
-
-
- |
-
-
-
- VPN |
- |
-
-
-
- Has to be in the form
-vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration]. |
-
-
-Enables a
-compatible VPN adapter to create additional local IPv4
-addresses (like 127.0.0.1) that appear as remote IPv4
-addresses to the system. This allows product activation
-using a local instance of vlmcsd. This feature is only
-available in Windows and Cygwin builds of vlmcsd since it is
-not of any use on other operating systems. Compatible VPN
-adapters are Tap-windows version 8.2 or higher (from
-OpenVPN) and the TeamViewer VPN adapter. There is a special
-vpn-adapter-name. A single period (.) instructs
-vlmcsd to use the first available compatible VPN adapter.
-The vpn-adapter-name is not case-sensitive. If
-the vpn-adapter-name contains spaces (e.g. Ethernet
-3), do not enclose it in quotes.
-
-The default
-ipv4-address is 10.10.10.9 and the default
-cidr-mask is 30. If you are using the default values,
-your VPN adapter uses an IPv4 address of 10.10.10.9 and you
-can set your activation client to use the easy to remember
-address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript
-ospp.vbs /sethst:10.10.10.10).
-
-The
-dhcp-lease-duration is a number optionally followed
-by s, m, h, d or w to indicate seconds, minutes, hours, days
-or weeks. The default dhcp-lease-duration is 1d (one
-day). It is normally not required to change this value.
-
-It is advised
-not to manually configure your OpenVPN TAP or TeamViewer VPN
-adapter in "Network Connections". If you set the
-IPv4 configuration manually anyway, the IPv4 address and the
-subnet mask must match the VPN= directive. It is safe
-leave the IPv4 configuration to automatic (DHCP). vlmcsd
-will wait up to four seconds for the DHCP configuration to
-complete before binding to and listenin on any
-interfaces.
-
-You should be
-aware that only one program can use a VPN adapter at a time.
-If you use the TeamViewer VPN adapter for example, you will
-not be able to use the VPN feature of TeamViewer as long as
-vlmcsd is running. The same applies to OpenVPN TAP adapters
-that are in use by other programs (for example OpenVPN,
-QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid
-conflicts is to install Tap-Windows from OpenVPN, cd to
-C:\Program Files\TAP-Windows\bin and run addtap.bat to
-install an additional TAP adapter. Go to "Network
-Connections" and rename the new adapter to
-"vlmcsd" and specify VPN=vlmcsd to use
-it.
-
-ExitLevel
-
-Can be either 0 (the default)
-or 1. Controls under what circumstances vlmcsd will exit.
-Using the default of 0 vlmcsd stays active as long as
-it can perform some useful operations. If vlmcsd is run by
-any form of a watchdog, e.g. NT service manager (Windows),
-systemd (Linux) or launchd (Mac OS / iOS), it may be
-desirable to end vlmcsd and let the watchdog restart it.
-This is especially true if some pre-requisites are not yet
-met but will be some time later, e.g. network is not yet
-fully setup.
-
-By using
-ExitLevel = 0 vlmcsd will
-
-exit if none of
-the listening sockets specified with -L can be used.
-It continues if at least one socket can be setup for
-listening.
-
-exit any TAP
-mirror thread (Windows version only) if there is an error
-condition while reading or writing from or to the VPN
-adapter but continue to work without utilizing a VPN
-adapter.
-
-By using
-ExitLevel = 1 vlmcsd will
-
-exit if not all
-listening sockets specified with -L can be used.
-
-exit completely
-if there is a problem with a VPN adapter it is using. This
-may happen for instance if the VPN adapter has been disabled
-using "Control Panel - Network - Adapter Settings"
-while vlmcsd is using it.
-
-Please note
-that ExitLevel = 1 is kind of a workaround option.
-While it may help under some circumstances, it is better to
-solve the problem at its origin, e.g. properly implementing
-dependencies in your startup script to ensure all network
-interfaces and the VPN adapter you will use are completely
-setup before you start vlmcsd.
-
-UseNDR64
-
-Can be TRUE or FALSE. Specifies
-whether you want to use the NDR64 transfer syntax. See
-options -n0 and -n1 in vlmcsd(8). The
-default is TRUE.
-
-UseBTFN
-
-Can be TRUE or FALSE. Specifies
-whether you want to use bind time feature negotiation in
-RPC. See options -b0 and -b1 in
-vlmcsd(8). The default is TRUE.
-
-RandomizationLevel
-
-The argument must 0, 1
-or 2. This specifies the ePID randomization level. See
-options -r0, -r1 and -r2 in
-vlmcsd(8). The default randomization level is 1. A
-RandomizationLevel of 2 is not recommended and should
-be treated as a debugging level.
-
-
-
- |
-
-
-
- LCID |
- |
-
-
-
- Use a specific culture id (LCID) even if the ePID is
-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
--C. |
-
-
-HostBuild
-
-Use a specific host build
-number in the ePID even if it is randomized. The
-argument must be a number between 1 and 65535. While
-you can use any number you should only use build numbers
-that a released build numbers of Windows Servers, e.g. 17763
-for Windows Server 2019.
-
-MaxWorkers
-
-The argument specifies
-the maximum number of worker processes or threads that will
-be used to serve activation requests concurrently. This is
-the same as specifying -m on the command line.
-Minimum is 1. The maximum is platform specific and is at
-least 32767 but is likely to be greater on most systems. The
-default is no limit.
-
-ConnectionTimeout
-
-Used to control when the vlmcsd
-disconnects idle TPC connections. The default is 30 seconds.
-This is the same setting as -t on the command
-line.
-
-
-DisconnectClientsImmediately
-
-Set this to TRUE to disconnect
-a client after it got an activation response regardless
-whether a timeout has occured or not. The default is FALSE.
-Setting this to TRUE is non-standard behavior. Use only if
-you are experiencing DoS or DDoS attacks. On the command
-line you control this behavior with options -d and
--k.
-
-PidFile
-
-Write a pid file. The
-argument is the full pathname of a pid file. The pid
-file contains is single line containing the process id of
-the vlmcsd process. It can be used to stop (SIGTERM) or
-restart (SIGHUP) vlmcsd. This directive can be overriden
-using -p on the command line.
-
-LogFile
-
-Write a log file. The
-argument is the full pathname of a log file. On a
-unixoid OS and with Cygwin you can use the special filename
-’syslog’ to log to the syslog facility. This is
-the same as specifying -l on the command line.
-
-KmsData
-
-Use a KMS data file. The
-argument is the full pathname of a KMS data file. By
-default vlmcsd only contains the minimum product data that
-is required to perform all operations correctly. You may use
-a more complete KMS data file that contains all detailed
-product names. This is especially useful if you are logging
-KMS requests. If you don’t log, there is no need to
-load an external KMS data file.
-
-You may use
-KmsData = - to prevent the default KMS data
-file to be loaded.
-
-LogDateAndTime
-
-Can be TRUE or FALSE. The
-default is TRUE. If set to FALSE, logging output does not
-include date and time. This is useful if you log to
-stdout(3) which is redirected to another logging
-mechanism that already includes date and time in its output,
-for instance systemd-journald(8). If you log to
-syslog(3), LogDateAndTime is ignored and date
-and time will never be included in the output sent to
-syslog(3). Using the command line you control this
-setting with options -T0 and -T1.
-
-LogVerbose
-
-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 -v and
--q in the command line to control this setting.
-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).
-
-MaintainClients
-
-Can be TRUE or FALSE (the
-default). Disables (FALSE) or enables (TRUE) maintaining a
-list of client machine IDs (CMIDs). TRUE is useful to
-prevent emulator detection. By maintaing a CMID list,
-vlmcsd(8) reports current active clients exactly like
-a genuine KMS emulator. This includes bug compatibility to
-the extent that you can permanently kill a genuine KMS
-emulator by sending an "overcharge request" with a
-required client count of 376 or more and then request
-activation for 671 clients. vlmcsd(8) can be reset
-from this condition by restarting it. If FALSE is used,
-vlmcsd(8) reports current active clients as good as
-possible. If no client sends an "overcharge
-request", it is not possible to detect vlmcsd(8)
-as an emulator with
-MaintainClients = FALSE. Maintaining
-clients requires the allocation of a buffer that is about 50
-kB in size. On hardware with few memory resources use it
-only if you really need it.
-
-If you start
-vlmcsd(8) from an internet superserver, this setting
-cannot be used. Since vlmcsd(8) exits after each
-activation, it cannot maintain any state in memory.
-
-StartEmpty
-
-This setting is ignored if you
-do not also specify MaintainClients = TRUE.
-If you specify FALSE (the default), vlmcsd(8) starts
-up as a fully "charged" KMS server. Clients
-activate immediately. StartEmpty = TRUE
-lets you start up vlmcsd(8) with an empty CMID list.
-Activation will start when the required minimum clients (25
-for Windows Client OSses, 5 for Windows Server OSses and
-Office) have registered with the KMS server. As long as the
-minimum client count has not been reached, clients end up in
-HRESULT 0xC004F038 "The count reported by your Key
-Management Service (KMS) is insufficient. Please contact
-your system administrator". You may use vlmcs(1)
-or another KMS client emulator to "charge"
-vlmcsd(8). Setting this parameter to TRUE does not
-improve emulator detection prevention. It’s primary
-purpose is to help developers of KMS clients to test
-"charging" a KMS server.
-
-ActivationInterval
-
-This is the same as specifying
--A on the command line. See vlmcsd(8) for
-details. The default is 2 hours. Example:
-ActivationInterval = 1h
-
-RenewalInterval
-
-This is the same as specifying
--R on the command line. See vlmcsd(8) for
-details. The default is 7 days. Example: RenewalInterval =
-3d. Please note that the KMS client decides itself when to
-renew activation. Even though vlmcsd sends the renewal
-interval 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 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 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 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 -g in
-vlmcsd(8). This setting cannot be changed on the fly
-by sending SIGHUP to vlmcsd. |
-
-
-<csvlk-name>
-
-The argument has the
-form ePID [ / HwId ]. Always use ePID
-and HwId for activations with
-<csvlk-name>. If specified,
-RandomizationLevel for the <csvlk-name>
-will be ignored. With the default vlmcsd.kmd database you
-can use the following <csvlk-name>s: Windows,
-Office2010, Office2013, Office2016, Office2019 and
-WinChinaGov. While vlmcsd is compatible with older
-databases, you must use at least database version 1.6 for
-this feature to work.
-
-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
-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
-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 run vlmcsd on Windows or cygwin because
-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
-spaces.
-
-FILES
-
-
-
-
-
-vlmcsd.ini(5)
-
-AUTHOR
-
-
-
-
-
-vlmcsd(8)
-was written by crony12, Hotbird64 and vityan666. With
-contributions from DougQaid.
-
-CREDITS
-
-
-
-
-Thanks to
-abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
-qad, Ratiborus, ...
-
-SEE ALSO
-
-
-
-
-
-vlmcsd(8),
-vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
diff --git a/man/vlmcsd.ini.5.pdf b/man/vlmcsd.ini.5.pdf
deleted file mode 100644
index 09d0799..0000000
Binary files a/man/vlmcsd.ini.5.pdf and /dev/null differ
diff --git a/man/vlmcsd.ini.5.unix.txt b/man/vlmcsd.ini.5.unix.txt
deleted file mode 100644
index 10ac844..0000000
--- a/man/vlmcsd.ini.5.unix.txt
+++ /dev/null
@@ -1,486 +0,0 @@
-VLMCSD.INI(5) KMS Activation Manual VLMCSD.INI(5)
-
-
-
-NAME
- vlmcsd.ini - vlmcsd KMS emulator configuration file
-
-
-SYNOPSIS
- vlmcsd.ini
-
-
-DESCRIPTION
- vlmcsd.ini (or simply called the "ini file") is a configuration file
- for vlmcsd(8). By default vlmcsd does not use a configuration file. It
- is completely optional and for advanced users only. You must use the -i
- option on the vlmcsd command line to use an ini file. There is no
- default name or default location for the ini file.
-
- Everything, that can be configured in the ini file, may also be speci-
- fied on the command line. Any configuration option specified on the
- command line takes precedence over the respective configuration line in
- the ini file.
-
- Benefits of a configuration file
-
- While you can use the configuration file to simply modify the default
- behavior of vlmcsd, it can also be used to change the configuration of
- vlmcsd after you sent a HUP signal(7). Whenever you send SIGHUP, the
- configuration file will be re-read. Any changes you made to the ini
- file will be reflected after vlmcsd received the hangup signal.
-
- Differences between command line and configuration file
-
- If you specify an illegal option or option argument on the command
- line, vlmcsd displays help and exits. If you specify an incorrect key-
- word or argument in the ini file, vlmcsd displays a warning with some
- information, ignores the respective line and continues. This is inten-
- tional and prevents vlmcsd from aborting after a SIGHUP if the configu-
- ration was modified incorrectly.
-
-
-SYNTAX
- vlmcsd.ini is a UTF-8 encoded text file with each line being in the
- format keyword = argument. The keyword is not case-sensitive. The argu-
- ment is treated literally. It is neither required nor allowed to
- enclose the argument in any form of quote characters except when quote
- characters are part of the argument itself. Whitespace characters are
- ignored only
-
- - at the beginning of a line
- - between the keyword and '='
- - between '=' and the argument
-
- Lines, that start with '#' or ';' are treated as comments. Empty lines
- are ignored as well. If a keyword is repeated in another line, vlmcsd
- will use the argument of the last occurence of the keyword. An excep-
- tion to this is the Listen keyword which can be specified multiple
- times and causes vlmcsd to listen on more than one IP address and/or
- port.
-
- Some arguments are binary arguments that need to be either TRUE or
- FALSE. You can use "Yes", "On" or "1" as an alias for TRUE and "No",
- "Off" or "0" as an alias for FALSE. Binary arguments are case-insensi-
- tive.
-
-
-KEYWORDS
- The following keywords are defined (not all keywords may be available
- depending on the operating system and the options used when vlmcsd(8)
- was compiled):
-
-
- Listen This defines on what combinations of IP addresses and ports vlm-
- csd should listen. Listen can be specified more than once. The
- argument has the form ipaddress[:port]. If you omit the port,
- the default port of 1688 is used. If the ipaddress contains
- colons and a port is used, you must enclose the ipaddress in
- brackets. The default is to listen to 0.0.0.0:1688 and [::]:1688
- which means listen to all IPv4 and all IPv6 addresses. See the
- -L option in vlmcsd(8) for more info about the syntax. If you
- use -L or -P on the command line, all Listen keywords in the ini
- file will be ignored. The Listen keyword cannot be used if vlm-
- csd has been compiled to use Microsoft RPC (Windows and Cygwin
- only) or simple sockets.
-
- Examples:
-
- Listen = 192.168.1.123:1688
- Listen = 0.0.0.0:1234
- Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688
-
-
- Port Can only be used if vlmcsd has been compiled to use simple sock-
- ets or on Windows and Cygwin if vlmcsd(8) has been compiled to
- use Microsoft RPC. Otherwise you must use Listen instead. Causes
- vlmcsd to listen on that port instead of 1688.
-
-
- FreeBind
- Can be TRUE or FALSE. If TRUE, you can use the Listen keyword
- with IP addresses that are currently not defined on your system.
- vlmcsd(8) will start listening on these IP addresses as soon as
- they become available. This keyword is only available under
- Linux and FreeBSD because no other OS currently supports that
- feature. FreeBSD supports this only for IPv4 and requires the
- PRIV_NETINET_BINDANY privilege which is normally assigned to
- proccesses of the root user.
-
-
- PublicIPProtectionLevel
- Set the level of protection against KMS activations from public
- IP addresses.
-
- 0 = No protection (default)
- 1 = Listen on private IP addresses only (plus those specified by
- one or more Listen statements)
- 2 = Disconnect clients with public IP addresses without activat-
- ing
- 3 = Combines 1 and 2
-
- For details on public IP protection levels see vlmcsd(8) command
- line option -o.
-
-
- VPN Has to be in the form vpn-adapter-name[=ipv4-address][/cidr-
- mask][:dhcp-lease-duration].
-
- Enables a compatible VPN adapter to create additional local IPv4
- addresses (like 127.0.0.1) that appear as remote IPv4 addresses
- to the system. This allows product activation using a local
- instance of vlmcsd. This feature is only available in Windows
- and Cygwin builds of vlmcsd since it is not of any use on other
- operating systems. Compatible VPN adapters are Tap-windows ver-
- sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN
- adapter. There is a special vpn-adapter-name. A single period
- (.) instructs vlmcsd to use the first available compatible VPN
- adapter. The vpn-adapter-name is not case-sensitive. If the vpn-
- adapter-name contains spaces (e.g. Ethernet 3), do not enclose
- it in quotes.
-
- The default ipv4-address is 10.10.10.9 and the default cidr-mask
- is 30. If you are using the default values, your VPN adapter
- uses an IPv4 address of 10.10.10.9 and you can set your activa-
- tion client to use the easy to remember address 10.10.10.10
- (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs
- /sethst:10.10.10.10).
-
- The dhcp-lease-duration is a number optionally followed by s, m,
- h, d or w to indicate seconds, minutes, hours, days or weeks.
- The default dhcp-lease-duration is 1d (one day). It is normally
- not required to change this value.
-
- It is advised not to manually configure your OpenVPN TAP or
- TeamViewer VPN adapter in "Network Connections". If you set the
- IPv4 configuration manually anyway, the IPv4 address and the
- subnet mask must match the VPN= directive. It is safe leave the
- IPv4 configuration to automatic (DHCP). vlmcsd will wait up to
- four seconds for the DHCP configuration to complete before bind-
- ing to and listenin on any interfaces.
-
- You should be aware that only one program can use a VPN adapter
- at a time. If you use the TeamViewer VPN adapter for example,
- you will not be able to use the VPN feature of TeamViewer as
- long as vlmcsd is running. The same applies to OpenVPN TAP
- adapters that are in use by other programs (for example OpenVPN,
- QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con-
- flicts is to install Tap-Windows from OpenVPN, cd to C:\Program
- Files\TAP-Windows\bin and run addtap.bat to install an addi-
- tional TAP adapter. Go to "Network Connections" and rename the
- new adapter to "vlmcsd" and specify VPN=vlmcsd to use it.
-
-
- ExitLevel
- Can be either 0 (the default) or 1. Controls under what circum-
- stances vlmcsd will exit. Using the default of 0 vlmcsd stays
- active as long as it can perform some useful operations. If vlm-
- csd is run by any form of a watchdog, e.g. NT service manager
- (Windows), systemd (Linux) or launchd (Mac OS / iOS), it may be
- desirable to end vlmcsd and let the watchdog restart it. This is
- especially true if some pre-requisites are not yet met but will
- be some time later, e.g. network is not yet fully setup.
-
- By using ExitLevel = 0 vlmcsd will
-
- exit if none of the listening sockets specified with -L can
- be used. It continues if at least one socket can be setup
- for listening.
-
- exit any TAP mirror thread (Windows version only) if there
- is an error condition while reading or writing from or to
- the VPN adapter but continue to work without utilizing a
- VPN adapter.
-
- By using ExitLevel = 1 vlmcsd will
-
- exit if not all listening sockets specified with -L can be
- used.
-
- exit completely if there is a problem with a VPN adapter it
- is using. This may happen for instance if the VPN adapter
- has been disabled using "Control Panel - Network - Adapter
- Settings" while vlmcsd is using it.
-
-
- Please note that ExitLevel = 1 is kind of a workaround option.
- While it may help under some circumstances, it is better to
- solve the problem at its origin, e.g. properly implementing
- dependencies in your startup script to ensure all network inter-
- faces and the VPN adapter you will use are completely setup
- before you start vlmcsd.
-
-
- UseNDR64
- Can be TRUE or FALSE. Specifies whether you want to use the
- NDR64 transfer syntax. See options -n0 and -n1 in vlmcsd(8). The
- default is TRUE.
-
-
- UseBTFN
- Can be TRUE or FALSE. Specifies whether you want to use bind
- time feature negotiation in RPC. See options -b0 and -b1 in vlm-
- csd(8). The default is TRUE.
-
-
- RandomizationLevel
- The argument must 0, 1 or 2. This specifies the ePID randomiza-
- tion level. See options -r0, -r1 and -r2 in vlmcsd(8). The
- default randomization level is 1. A RandomizationLevel of 2 is
- not recommended and should be treated as a debugging level.
-
-
- LCID Use a specific culture id (LCID) even if the ePID is 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.micro-
- soft.com/en-us/goglobal/bb964664.aspx. On the command line you
- control this setting with option -C.
-
-
- HostBuild
- Use a specific host build number in the ePID even if it is ran-
- domized. The argument must be a number between 1 and 65535.
- While you can use any number you should only use build numbers
- that a released build numbers of Windows Servers, e.g. 17763 for
- Windows Server 2019.
-
-
- MaxWorkers
- The argument specifies the maximum number of worker processes or
- threads that will be used to serve activation requests concur-
- rently. This is the same as specifying -m on the command line.
- Minimum is 1. The maximum is platform specific and is at least
- 32767 but is likely to be greater on most systems. The default
- is no limit.
-
-
- ConnectionTimeout
- Used to control when the vlmcsd disconnects idle TPC connec-
- tions. The default is 30 seconds. This is the same setting as -t
- on the command line.
-
-
- DisconnectClientsImmediately
- Set this to TRUE to disconnect a client after it got an activa-
- tion response regardless whether a timeout has occured or not.
- The default is FALSE. Setting this to TRUE is non-standard
- behavior. Use only if you are experiencing DoS or DDoS attacks.
- On the command line you control this behavior with options -d
- and -k.
-
-
- PidFile
- Write a pid file. The argument is the full pathname of a pid
- file. The pid file contains is single line containing the
- process id of the vlmcsd process. It can be used to stop
- (SIGTERM) or restart (SIGHUP) vlmcsd. This directive can be
- overriden using -p on the command line.
-
-
- LogFile
- Write a log file. The argument is the full pathname of a log
- file. On a unixoid OS and with Cygwin you can use the special
- filename 'syslog' to log to the syslog facility. This is the
- same as specifying -l on the command line.
-
-
- KmsData
- Use a KMS data file. The argument is the full pathname of a KMS
- data file. By default vlmcsd only contains the minimum product
- data that is required to perform all operations correctly. You
- may use a more complete KMS data file that contains all detailed
- product names. This is especially useful if you are logging KMS
- requests. If you don't log, there is no need to load an external
- KMS data file.
-
- You may use KmsData = - to prevent the default KMS data file to
- be loaded.
-
-
- LogDateAndTime
- Can be TRUE or FALSE. The default is TRUE. If set to FALSE, log-
- ging output does not include date and time. This is useful if
- you log to stdout(3) which is redirected to another logging
- mechanism that already includes date and time in its output, for
- instance systemd-journald(8). If you log to syslog(3), LogDate-
- AndTime is ignored and date and time will never be included in
- the output sent to syslog(3). Using the command line you control
- this setting with options -T0 and -T1.
-
-
- LogVerbose
- 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
- -v and -q in the command line to control this setting. LogVer-
- bose 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 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).
-
-
- MaintainClients
- Can be TRUE or FALSE (the default). Disables (FALSE) or enables
- (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is
- useful to prevent emulator detection. By maintaing a CMID list,
- vlmcsd(8) reports current active clients exactly like a genuine
- KMS emulator. This includes bug compatibility to the extent that
- you can permanently kill a genuine KMS emulator by sending an
- "overcharge request" with a required client count of 376 or more
- and then request activation for 671 clients. vlmcsd(8) can be
- reset from this condition by restarting it. If FALSE is used,
- vlmcsd(8) reports current active clients as good as possible. If
- no client sends an "overcharge request", it is not possible to
- detect vlmcsd(8) as an emulator with MaintainClients = FALSE.
- Maintaining clients requires the allocation of a buffer that is
- about 50 kB in size. On hardware with few memory resources use
- it only if you really need it.
-
- If you start vlmcsd(8) from an internet superserver, this set-
- ting cannot be used. Since vlmcsd(8) exits after each activa-
- tion, it cannot maintain any state in memory.
-
-
- StartEmpty
- This setting is ignored if you do not also specify Maintain-
- Clients = TRUE. If you specify FALSE (the default), vlmcsd(8)
- starts up as a fully "charged" KMS server. Clients activate
- immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with
- an empty CMID list. Activation will start when the required min-
- imum clients (25 for Windows Client OSses, 5 for Windows Server
- OSses and Office) have registered with the KMS server. As long
- as the minimum client count has not been reached, clients end up
- in HRESULT 0xC004F038 "The count reported by your Key Management
- Service (KMS) is insufficient. Please contact your system admin-
- istrator". You may use vlmcs(1) or another KMS client emulator
- to "charge" vlmcsd(8). Setting this parameter to TRUE does not
- improve emulator detection prevention. It's primary purpose is
- to help developers of KMS clients to test "charging" a KMS
- server.
-
-
- ActivationInterval
- 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-
- 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
- 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
- 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
- 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'
- 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
- changed on the fly by sending SIGHUP to vlmcsd.
-
-
-
- The argument has the form ePID [ / HwId ]. Always use ePID and
- HwId for activations with . If specified, Randomiza-
- tionLevel for the will be ignored. With the default
- vlmcsd.kmd database you can use the following s:
- Windows, Office2010, Office2013, Office2016, Office2019 and
- WinChinaGov. While vlmcsd is compatible with older databases,
- you must use at least database version 1.6 for this feature to
- work.
-
-
-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 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
- 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
- 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
- quotes even if it contains spaces.
-
-
-FILES
- vlmcsd.ini(5)
-
-
-AUTHOR
- vlmcsd(8) was written by crony12, Hotbird64 and vityan666. With contri-
- butions from DougQaid.
-
-
-CREDITS
- Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
- qad, Ratiborus, ...
-
-
-SEE ALSO
- vlmcsd(8), vlmcsd(7), vlmcs(1), vlmcsdmulti(1)
-
-
-
-Hotbird64 October 2018 VLMCSD.INI(5)
diff --git a/man/vlmcsdmulti.1.dos.txt b/man/vlmcsdmulti.1.dos.txt
deleted file mode 100644
index ab73805..0000000
--- a/man/vlmcsdmulti.1.dos.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-VLMCSDMULTI(1) KMS Activation Manual VLMCSDMULTI(1)
-
-
-
-NAME
- vlmcsdmulti - a multi-call binary containing vlmcs(1) and vlmcsd(8)
-
-
-SYNOPSIS
- vlmcsdmulti vlmcs [ options ] [ hostname|ip-address[:port] ] [ options
- ] | vlmcsd [ options ]
-
-
-DESCRIPTION
- vlmcsdmulti is a multi-call binary that contains vlmcs(1) and vlmcsd(8)
- in a single binary. Since both programs share a lot of code and data,
- the combined binary is significantly smaller than the sum of both
- files.
-
- vlmcsdmulti should not be called directly. Instead you may want to cre-
- ate symbolic links named vlmcs and vlmcsd which point to vlmcsdmulti.
- You then use these links to call the respective program. You may how-
- ever call vlmcsdmulti followed by a complete command line of either
- vlmcs(1) or vlmcsd(8).
-
- Creating symbolic links in unixoid operating systems
- cd to the directory containing vlmcsdmulti and type
-
- ln -s vlmcsdmulti vlmcsd
- ln -s vlmcsdmulti vlmcs
-
- You may use a destination directory, e.g.
-
- ln -s vlmcsdmulti /usr/local/sbin/vlmcsd
- ln -s vlmcsdmulti /usr/local/bin/vlmcs
-
- Ensure that vlmcsdmulti has execute permissions. You can do that by
- typing "chmod 755 vlmcsdmulti". See chmod(1) for details.
-
- Creating symbolic links in Windows (Vista and higher only)
- cd to the directory containing vlmcsdmulti and type
-
- mklink vlmcsd.exe vlmcsdmulti.exe
- mklink vlmcs.exe vlmcsdmulti.exe
-
- You may use a destination directory, e.g.
-
- mklink C:\tools\vlmcsd.exe vlmcsdmulti.exe
- mklink C:\tools\vlmcs.exe vlmcsdmulti.exe
-
- Memory considerations
- While you definitely save disk space by using vlmcsdmulti you will need
- more RAM when you run vlmcsdmulti as a daemon (KMS server) instead of
- vlmcsd. You should consider running vlmcsdmulti via an internet super-
- server like inetd(8) or xinetd(8).
-
-
-BUGS
- vlmcsdmulti has the same bugs as vlmcs(1) and vlmcsd(8).
-
-
-AUTHOR
- Written by Hotbird64
-
-
-CREDITS
- Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos-
- ferati87, qad, vityan666, ...
-
-
-SEE ALSO
- vlmcs(1), vlmcsd(8), vlmcsd(7)
-
-
-
-Hotbird64 February 2015 VLMCSDMULTI(1)
diff --git a/man/vlmcsdmulti.1.html b/man/vlmcsdmulti.1.html
deleted file mode 100644
index 38cd3ed..0000000
--- a/man/vlmcsdmulti.1.html
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
-
-
-
-
-
-VLMCSDMULTI
-
-
-
-
-VLMCSDMULTI
-
-NAME
-SYNOPSIS
-DESCRIPTION
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
-
-
-
-
-NAME
-
-
-
-
-vlmcsdmulti - a
-multi-call binary containing vlmcs(1) and
-vlmcsd(8)
-
-SYNOPSIS
-
-
-
-
-
-vlmcsdmulti
-vlmcs [ options ] [
-hostname|ip-address[:port] ] [
-options ] | vlmcsd [ options ]
-
-DESCRIPTION
-
-
-
-
-
-vlmcsdmulti
-is a multi-call binary that contains vlmcs(1) and
-vlmcsd(8) in a single binary. Since both programs
-share a lot of code and data, the combined binary is
-significantly smaller than the sum of both files.
-
-
-vlmcsdmulti
-should not be called directly. Instead you may want to
-create symbolic links named vlmcs and vlmcsd which point to
-vlmcsdmulti. You then use these links to call the
-respective program. You may however call vlmcsdmulti
-followed by a complete command line of either
-vlmcs(1) or vlmcsd(8).
-
-Creating
-symbolic links in unixoid operating systems
-cd to the directory containing vlmcsdmulti and
-type
-
-ln -s
-vlmcsdmulti vlmcsd
-ln -s vlmcsdmulti vlmcs
-
-You may use a
-destination directory, e.g.
-
-ln -s
-vlmcsdmulti /usr/local/sbin/vlmcsd
-ln -s vlmcsdmulti /usr/local/bin/vlmcs
-
-Ensure that
-vlmcsdmulti has execute permissions. You can do that
-by typing "chmod 755 vlmcsdmulti". See
-chmod(1) for details.
-
-Creating
-symbolic links in Windows (Vista and higher only)
-cd to the directory containing vlmcsdmulti and
-type
-
-mklink
-vlmcsd.exe vlmcsdmulti.exe
-mklink vlmcs.exe vlmcsdmulti.exe
-
-You may use a
-destination directory, e.g.
-
-mklink
-C:\tools\vlmcsd.exe vlmcsdmulti.exe
-mklink C:\tools\vlmcs.exe vlmcsdmulti.exe
-
-Memory
-considerations
-While you definitely save disk space by using
-vlmcsdmulti you will need more RAM when you run
-vlmcsdmulti as a daemon (KMS server) instead of
-vlmcsd. You should consider running vlmcsdmulti via
-an internet superserver like inetd(8) or
-xinetd(8).
-
-BUGS
-
-
-
-
-
-vlmcsdmulti
-has the same bugs as vlmcs(1) and
-vlmcsd(8).
-
-AUTHOR
-
-
-
-
-Written by
-Hotbird64
-
-CREDITS
-
-
-
-
-Thanks to
-CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38,
-nosferati87, qad, vityan666, ...
-
-SEE ALSO
-
-
-
-
-
-vlmcs(1),
-vlmcsd(8), vlmcsd(7)
-
-
-
diff --git a/man/vlmcsdmulti.1.pdf b/man/vlmcsdmulti.1.pdf
deleted file mode 100644
index 1521d96..0000000
Binary files a/man/vlmcsdmulti.1.pdf and /dev/null differ
diff --git a/man/vlmcsdmulti.1.unix.txt b/man/vlmcsdmulti.1.unix.txt
deleted file mode 100644
index 8f62764..0000000
--- a/man/vlmcsdmulti.1.unix.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-VLMCSDMULTI(1) KMS Activation Manual VLMCSDMULTI(1)
-
-
-
-NAME
- vlmcsdmulti - a multi-call binary containing vlmcs(1) and vlmcsd(8)
-
-
-SYNOPSIS
- vlmcsdmulti vlmcs [ options ] [ hostname|ip-address[:port] ] [ options
- ] | vlmcsd [ options ]
-
-
-DESCRIPTION
- vlmcsdmulti is a multi-call binary that contains vlmcs(1) and vlmcsd(8)
- in a single binary. Since both programs share a lot of code and data,
- the combined binary is significantly smaller than the sum of both
- files.
-
- vlmcsdmulti should not be called directly. Instead you may want to cre-
- ate symbolic links named vlmcs and vlmcsd which point to vlmcsdmulti.
- You then use these links to call the respective program. You may how-
- ever call vlmcsdmulti followed by a complete command line of either
- vlmcs(1) or vlmcsd(8).
-
- Creating symbolic links in unixoid operating systems
- cd to the directory containing vlmcsdmulti and type
-
- ln -s vlmcsdmulti vlmcsd
- ln -s vlmcsdmulti vlmcs
-
- You may use a destination directory, e.g.
-
- ln -s vlmcsdmulti /usr/local/sbin/vlmcsd
- ln -s vlmcsdmulti /usr/local/bin/vlmcs
-
- Ensure that vlmcsdmulti has execute permissions. You can do that by
- typing "chmod 755 vlmcsdmulti". See chmod(1) for details.
-
- Creating symbolic links in Windows (Vista and higher only)
- cd to the directory containing vlmcsdmulti and type
-
- mklink vlmcsd.exe vlmcsdmulti.exe
- mklink vlmcs.exe vlmcsdmulti.exe
-
- You may use a destination directory, e.g.
-
- mklink C:\tools\vlmcsd.exe vlmcsdmulti.exe
- mklink C:\tools\vlmcs.exe vlmcsdmulti.exe
-
- Memory considerations
- While you definitely save disk space by using vlmcsdmulti you will need
- more RAM when you run vlmcsdmulti as a daemon (KMS server) instead of
- vlmcsd. You should consider running vlmcsdmulti via an internet super-
- server like inetd(8) or xinetd(8).
-
-
-BUGS
- vlmcsdmulti has the same bugs as vlmcs(1) and vlmcsd(8).
-
-
-AUTHOR
- Written by Hotbird64
-
-
-CREDITS
- Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos-
- ferati87, qad, vityan666, ...
-
-
-SEE ALSO
- vlmcs(1), vlmcsd(8), vlmcsd(7)
-
-
-
-Hotbird64 February 2015 VLMCSDMULTI(1)
diff --git a/src/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
deleted file mode 100644
index abec245..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/_G_config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* This file is needed by libio to define various configuration parameters.
- These are always the same in the GNU C library. */
-
-#ifndef _G_config_h
-#define _G_config_h 1
-
-/* Define types for libio in terms of the standard internal type names. */
-
-#include
-#define __need_size_t
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# define __need_wchar_t
-#endif
-#define __need_NULL
-#include
-#define __need_mbstate_t
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# define __need_wint_t
-#endif
-#include
-typedef struct
-{
- __off_t __pos;
- __mbstate_t __state;
-} _G_fpos_t;
-typedef struct
-{
- __off64_t __pos;
- __mbstate_t __state;
-} _G_fpos64_t;
-#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
-# include
-typedef union
-{
- struct __gconv_info __cd;
- struct
- {
- struct __gconv_info __cd;
- struct __gconv_step_data __data;
- } __combined;
-} _G_iconv_t;
-#endif
-
-
-/* These library features are always available in the GNU C library. */
-#define _G_va_list __gnuc_va_list
-
-#define _G_HAVE_MMAP 1
-#define _G_HAVE_MREMAP 1
-
-#define _G_IO_IO_FILE_VERSION 0x20001
-
-/* This is defined by if `st_blksize' exists. */
-#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
-
-#define _G_BUFSIZ 8192
-
-#endif /* _G_config.h */
diff --git a/src/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
deleted file mode 100644
index 8cb6a5e..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aio.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/* Copyright (C) 1996-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-/*
- * ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output
- */
-
-#ifndef _AIO_H
-#define _AIO_H 1
-
-#include
-#include
-#define __need_sigevent_t
-#include
-#define __need_timespec
-#include
-
-__BEGIN_DECLS
-
-/* Asynchronous I/O control block. */
-struct aiocb
-{
- int aio_fildes; /* File desriptor. */
- int aio_lio_opcode; /* Operation to be performed. */
- int aio_reqprio; /* Request priority offset. */
- volatile void *aio_buf; /* Location of buffer. */
- size_t aio_nbytes; /* Length of transfer. */
- struct sigevent aio_sigevent; /* Signal number and value. */
-
- /* Internal members. */
- struct aiocb *__next_prio;
- int __abs_prio;
- int __policy;
- int __error_code;
- __ssize_t __return_value;
-
-#ifndef __USE_FILE_OFFSET64
- __off_t aio_offset; /* File offset. */
- char __pad[sizeof (__off64_t) - sizeof (__off_t)];
-#else
- __off64_t aio_offset; /* File offset. */
-#endif
- char __glibc_reserved[32];
-};
-
-/* The same for the 64bit offsets. Please note that the members aio_fildes
- to __return_value have to be the same in aiocb and aiocb64. */
-#ifdef __USE_LARGEFILE64
-struct aiocb64
-{
- int aio_fildes; /* File desriptor. */
- int aio_lio_opcode; /* Operation to be performed. */
- int aio_reqprio; /* Request priority offset. */
- volatile void *aio_buf; /* Location of buffer. */
- size_t aio_nbytes; /* Length of transfer. */
- struct sigevent aio_sigevent; /* Signal number and value. */
-
- /* Internal members. */
- struct aiocb *__next_prio;
- int __abs_prio;
- int __policy;
- int __error_code;
- __ssize_t __return_value;
-
- __off64_t aio_offset; /* File offset. */
- char __glibc_reserved[32];
-};
-#endif
-
-
-#ifdef __USE_GNU
-/* To customize the implementation one can use the following struct.
- This implementation follows the one in Irix. */
-struct aioinit
- {
- int aio_threads; /* Maximal number of threads. */
- int aio_num; /* Number of expected simultanious requests. */
- int aio_locks; /* Not used. */
- int aio_usedba; /* Not used. */
- int aio_debug; /* Not used. */
- int aio_numusers; /* Not used. */
- int aio_idle_time; /* Number of seconds before idle thread
- terminates. */
- int aio_reserved;
- };
-#endif
-
-
-/* Return values of cancelation function. */
-enum
-{
- AIO_CANCELED,
-#define AIO_CANCELED AIO_CANCELED
- AIO_NOTCANCELED,
-#define AIO_NOTCANCELED AIO_NOTCANCELED
- AIO_ALLDONE
-#define AIO_ALLDONE AIO_ALLDONE
-};
-
-
-/* Operation codes for `aio_lio_opcode'. */
-enum
-{
- LIO_READ,
-#define LIO_READ LIO_READ
- LIO_WRITE,
-#define LIO_WRITE LIO_WRITE
- LIO_NOP
-#define LIO_NOP LIO_NOP
-};
-
-
-/* Synchronization options for `lio_listio' function. */
-enum
-{
- LIO_WAIT,
-#define LIO_WAIT LIO_WAIT
- LIO_NOWAIT
-#define LIO_NOWAIT LIO_NOWAIT
-};
-
-
-/* Allow user to specify optimization. */
-#ifdef __USE_GNU
-extern void aio_init (const struct aioinit *__init) __THROW __nonnull ((1));
-#endif
-
-
-#ifndef __USE_FILE_OFFSET64
-/* Enqueue read request for given number of bytes and the given priority. */
-extern int aio_read (struct aiocb *__aiocbp) __THROW __nonnull ((1));
-/* Enqueue write request for given number of bytes and the given priority. */
-extern int aio_write (struct aiocb *__aiocbp) __THROW __nonnull ((1));
-
-/* Initiate list of I/O requests. */
-extern int lio_listio (int __mode,
- struct aiocb *const __list[__restrict_arr],
- int __nent, struct sigevent *__restrict __sig)
- __THROW __nonnull ((2));
-
-/* Retrieve error status associated with AIOCBP. */
-extern int aio_error (const struct aiocb *__aiocbp) __THROW __nonnull ((1));
-/* Return status associated with AIOCBP. */
-extern __ssize_t aio_return (struct aiocb *__aiocbp) __THROW __nonnull ((1));
-
-/* Try to cancel asynchronous I/O requests outstanding against file
- descriptor FILDES. */
-extern int aio_cancel (int __fildes, struct aiocb *__aiocbp) __THROW;
-
-/* Suspend calling thread until at least one of the asynchronous I/O
- operations referenced by LIST has completed.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int aio_suspend (const struct aiocb *const __list[], int __nent,
- const struct timespec *__restrict __timeout)
- __nonnull ((1));
-
-/* Force all operations associated with file desriptor described by
- `aio_fildes' member of AIOCBP. */
-extern int aio_fsync (int __operation, struct aiocb *__aiocbp)
- __THROW __nonnull ((2));
-#else
-# ifdef __REDIRECT_NTH
-extern int __REDIRECT_NTH (aio_read, (struct aiocb *__aiocbp), aio_read64)
- __nonnull ((1));
-extern int __REDIRECT_NTH (aio_write, (struct aiocb *__aiocbp), aio_write64)
- __nonnull ((1));
-
-extern int __REDIRECT_NTH (lio_listio,
- (int __mode,
- struct aiocb *const __list[__restrict_arr],
- int __nent, struct sigevent *__restrict __sig),
- lio_listio64) __nonnull ((2));
-
-extern int __REDIRECT_NTH (aio_error, (const struct aiocb *__aiocbp),
- aio_error64) __nonnull ((1));
-extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
- aio_return64) __nonnull ((1));
-
-extern int __REDIRECT_NTH (aio_cancel,
- (int __fildes, struct aiocb *__aiocbp),
- aio_cancel64);
-
-extern int __REDIRECT_NTH (aio_suspend,
- (const struct aiocb *const __list[], int __nent,
- const struct timespec *__restrict __timeout),
- aio_suspend64) __nonnull ((1));
-
-extern int __REDIRECT_NTH (aio_fsync,
- (int __operation, struct aiocb *__aiocbp),
- aio_fsync64) __nonnull ((2));
-
-# else
-# define aio_read aio_read64
-# define aio_write aio_write64
-# define lio_listio lio_listio64
-# define aio_error aio_error64
-# define aio_return aio_return64
-# define aio_cancel aio_cancel64
-# define aio_suspend aio_suspend64
-# define aio_fsync aio_fsync64
-# endif
-#endif
-
-#ifdef __USE_LARGEFILE64
-extern int aio_read64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
-extern int aio_write64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
-
-extern int lio_listio64 (int __mode,
- struct aiocb64 *const __list[__restrict_arr],
- int __nent, struct sigevent *__restrict __sig)
- __THROW __nonnull ((2));
-
-extern int aio_error64 (const struct aiocb64 *__aiocbp)
- __THROW __nonnull ((1));
-extern __ssize_t aio_return64 (struct aiocb64 *__aiocbp)
- __THROW __nonnull ((1));
-
-extern int aio_cancel64 (int __fildes, struct aiocb64 *__aiocbp) __THROW;
-
-extern int aio_suspend64 (const struct aiocb64 *const __list[], int __nent,
- const struct timespec *__restrict __timeout)
- __THROW __nonnull ((1));
-
-extern int aio_fsync64 (int __operation, struct aiocb64 *__aiocbp)
- __THROW __nonnull ((2));
-#endif
-
-__END_DECLS
-
-#endif /* aio.h */
diff --git a/src/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
deleted file mode 100644
index 44760d3..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/aliases.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 1996-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _ALIASES_H
-#define _ALIASES_H 1
-
-#include
-
-#include
-
-
-__BEGIN_DECLS
-
-/* Structure to represent one entry of the alias data base. */
-struct aliasent
- {
- char *alias_name;
- size_t alias_members_len;
- char **alias_members;
- int alias_local;
- };
-
-
-/* Open alias data base files. */
-extern void setaliasent (void) __THROW;
-
-/* Close alias data base files. */
-extern void endaliasent (void) __THROW;
-
-/* Get the next entry from the alias data base. */
-extern struct aliasent *getaliasent (void) __THROW;
-
-/* Get the next entry from the alias data base and put it in RESULT_BUF. */
-extern int getaliasent_r (struct aliasent *__restrict __result_buf,
- char *__restrict __buffer, size_t __buflen,
- struct aliasent **__restrict __result) __THROW;
-
-/* Get alias entry corresponding to NAME. */
-extern struct aliasent *getaliasbyname (const char *__name) __THROW;
-
-/* Get alias entry corresponding to NAME and put it in RESULT_BUF. */
-extern int getaliasbyname_r (const char *__restrict __name,
- struct aliasent *__restrict __result_buf,
- char *__restrict __buffer, size_t __buflen,
- struct aliasent **__restrict __result) __THROW;
-
-__END_DECLS
-
-#endif /* aliases.h */
diff --git a/src/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
deleted file mode 100644
index 974d11a..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/alloca.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1992-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _ALLOCA_H
-#define _ALLOCA_H 1
-
-#include
-
-#define __need_size_t
-#include
-
-__BEGIN_DECLS
-
-/* Remove any previous definitions. */
-#undef alloca
-
-/* Allocate a block that will be freed when the calling function exits. */
-extern void *alloca (size_t __size) __THROW;
-
-#ifdef __GNUC__
-# define alloca(size) __builtin_alloca (size)
-#endif /* GCC. */
-
-__END_DECLS
-
-#endif /* alloca.h */
diff --git a/src/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
deleted file mode 100644
index caa0223..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/ar.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Header describing `ar' archive file format.
- Copyright (C) 1996-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _AR_H
-#define _AR_H 1
-
-#include
-
-/* Archive files start with the ARMAG identifying string. Then follows a
- `struct ar_hdr', and as many bytes of member file data as its `ar_size'
- member indicates, for each member file. */
-
-#define ARMAG "!\n" /* String that begins an archive file. */
-#define SARMAG 8 /* Size of that string. */
-
-#define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
-
-__BEGIN_DECLS
-
-struct ar_hdr
- {
- char ar_name[16]; /* Member file name, sometimes / terminated. */
- char ar_date[12]; /* File date, decimal seconds since Epoch. */
- char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */
- char ar_mode[8]; /* File mode, in ASCII octal. */
- char ar_size[10]; /* File size, in ASCII decimal. */
- char ar_fmag[2]; /* Always contains ARFMAG. */
- };
-
-__END_DECLS
-
-#endif /* ar.h */
diff --git a/src/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
deleted file mode 100644
index 21fd1f2..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argp.h
+++ /dev/null
@@ -1,594 +0,0 @@
-/* Hierarchial argument parsing, layered over getopt.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Written by Miles Bader .
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _ARGP_H
-#define _ARGP_H
-
-#include
-#include
-#include
-#include
-
-#define __need_error_t
-#include
-
-#ifndef __THROW
-# define __THROW
-#endif
-#ifndef __NTH
-# define __NTH(fct) fct __THROW
-#endif
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
- The __-protected variants of the attributes 'format' and 'printf' are
- accepted by gcc versions 2.6.4 (effectively 2.7) and later.
- We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
- gnulib and libintl do '#define printf __printf__' when they override
- the 'printf' function. */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
-#else
-# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
-#endif
-
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
- "restrict", and "configure" may have defined "restrict". */
-#ifndef __restrict
-# if ! (2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__))
-# if defined restrict || 199901L <= __STDC_VERSION__
-# define __restrict restrict
-# else
-# define __restrict
-# endif
-# endif
-#endif
-
-#ifndef __error_t_defined
-typedef int error_t;
-# define __error_t_defined
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* A description of a particular option. A pointer to an array of
- these is passed in the OPTIONS field of an argp structure. Each option
- entry can correspond to one long option and/or one short option; more
- names for the same option can be added by following an entry in an option
- array with options having the OPTION_ALIAS flag set. */
-struct argp_option
-{
- /* The long option name. For more than one name for the same option, you
- can use following options with the OPTION_ALIAS flag set. */
- const char *name;
-
- /* What key is returned for this option. If > 0 and printable, then it's
- also accepted as a short option. */
- int key;
-
- /* If non-NULL, this is the name of the argument associated with this
- option, which is required unless the OPTION_ARG_OPTIONAL flag is set. */
- const char *arg;
-
- /* OPTION_ flags. */
- int flags;
-
- /* The doc string for this option. If both NAME and KEY are 0, This string
- will be printed outdented from the normal option column, making it
- useful as a group header (it will be the first thing printed in its
- group); in this usage, it's conventional to end the string with a `:'. */
- const char *doc;
-
- /* The group this option is in. In a long help message, options are sorted
- alphabetically within each group, and the groups presented in the order
- 0, 1, 2, ..., n, -m, ..., -2, -1. Every entry in an options array with
- if this field 0 will inherit the group number of the previous entry, or
- zero if it's the first one, unless its a group header (NAME and KEY both
- 0), in which case, the previous entry + 1 is the default. Automagic
- options such as --help are put into group -1. */
- int group;
-};
-
-/* The argument associated with this option is optional. */
-#define OPTION_ARG_OPTIONAL 0x1
-
-/* This option isn't displayed in any help messages. */
-#define OPTION_HIDDEN 0x2
-
-/* This option is an alias for the closest previous non-alias option. This
- means that it will be displayed in the same help entry, and will inherit
- fields other than NAME and KEY from the aliased option. */
-#define OPTION_ALIAS 0x4
-
-/* This option isn't actually an option (and so should be ignored by the
- actual option parser), but rather an arbitrary piece of documentation that
- should be displayed in much the same manner as the options. If this flag
- is set, then the option NAME field is displayed unmodified (e.g., no `--'
- prefix is added) at the left-margin (where a *short* option would normally
- be displayed), and the documentation string in the normal place. For
- purposes of sorting, any leading whitespace and punctuation is ignored,
- except that if the first non-whitespace character is not `-', this entry
- is displayed after all options (and OPTION_DOC entries with a leading `-')
- in the same group. */
-#define OPTION_DOC 0x8
-
-/* This option shouldn't be included in `long' usage messages (but is still
- included in help messages). This is mainly intended for options that are
- completely documented in an argp's ARGS_DOC field, in which case including
- the option in the generic usage list would be redundant. For instance,
- if ARGS_DOC is "FOO BAR\n-x BLAH", and the `-x' option's purpose is to
- distinguish these two cases, -x should probably be marked
- OPTION_NO_USAGE. */
-#define OPTION_NO_USAGE 0x10
-
-struct argp; /* fwd declare this type */
-struct argp_state; /* " */
-struct argp_child; /* " */
-
-/* The type of a pointer to an argp parsing function. */
-typedef error_t (*argp_parser_t) (int __key, char *__arg,
- struct argp_state *__state);
-
-/* What to return for unrecognized keys. For special ARGP_KEY_ keys, such
- returns will simply be ignored. For user keys, this error will be turned
- into EINVAL (if the call to argp_parse is such that errors are propagated
- back to the user instead of exiting); returning EINVAL itself would result
- in an immediate stop to parsing in *all* cases. */
-#define ARGP_ERR_UNKNOWN E2BIG /* Hurd should never need E2BIG. XXX */
-
-/* Special values for the KEY argument to an argument parsing function.
- ARGP_ERR_UNKNOWN should be returned if they aren't understood.
-
- The sequence of keys to a parsing function is either (where each
- uppercased word should be prefixed by `ARGP_KEY_' and opt is a user key):
-
- INIT opt... NO_ARGS END SUCCESS -- No non-option arguments at all
- or INIT (opt | ARG)... END SUCCESS -- All non-option args parsed
- or INIT (opt | ARG)... SUCCESS -- Some non-option arg unrecognized
-
- The third case is where every parser returned ARGP_KEY_UNKNOWN for an
- argument, in which case parsing stops at that argument (returning the
- unparsed arguments to the caller of argp_parse if requested, or stopping
- with an error message if not).
-
- If an error occurs (either detected by argp, or because the parsing
- function returned an error value), then the parser is called with
- ARGP_KEY_ERROR, and no further calls are made. */
-
-/* This is not an option at all, but rather a command line argument. If a
- parser receiving this key returns success, the fact is recorded, and the
- ARGP_KEY_NO_ARGS case won't be used. HOWEVER, if while processing the
- argument, a parser function decrements the NEXT field of the state it's
- passed, the option won't be considered processed; this is to allow you to
- actually modify the argument (perhaps into an option), and have it
- processed again. */
-#define ARGP_KEY_ARG 0
-/* There are remaining arguments not parsed by any parser, which may be found
- starting at (STATE->argv + STATE->next). If success is returned, but
- STATE->next left untouched, it's assumed that all arguments were consume,
- otherwise, the parser should adjust STATE->next to reflect any arguments
- consumed. */
-#define ARGP_KEY_ARGS 0x1000006
-/* There are no more command line arguments at all. */
-#define ARGP_KEY_END 0x1000001
-/* Because it's common to want to do some special processing if there aren't
- any non-option args, user parsers are called with this key if they didn't
- successfully process any non-option arguments. Called just before
- ARGP_KEY_END (where more general validity checks on previously parsed
- arguments can take place). */
-#define ARGP_KEY_NO_ARGS 0x1000002
-/* Passed in before any parsing is done. Afterwards, the values of each
- element of the CHILD_INPUT field, if any, in the state structure is
- copied to each child's state to be the initial value of the INPUT field. */
-#define ARGP_KEY_INIT 0x1000003
-/* Use after all other keys, including SUCCESS & END. */
-#define ARGP_KEY_FINI 0x1000007
-/* Passed in when parsing has successfully been completed (even if there are
- still arguments remaining). */
-#define ARGP_KEY_SUCCESS 0x1000004
-/* Passed in if an error occurs. */
-#define ARGP_KEY_ERROR 0x1000005
-
-/* An argp structure contains a set of options declarations, a function to
- deal with parsing one, documentation string, a possible vector of child
- argp's, and perhaps a function to filter help output. When actually
- parsing options, getopt is called with the union of all the argp
- structures chained together through their CHILD pointers, with conflicts
- being resolved in favor of the first occurrence in the chain. */
-struct argp
-{
- /* An array of argp_option structures, terminated by an entry with both
- NAME and KEY having a value of 0. */
- const struct argp_option *options;
-
- /* What to do with an option from this structure. KEY is the key
- associated with the option, and ARG is any associated argument (NULL if
- none was supplied). If KEY isn't understood, ARGP_ERR_UNKNOWN should be
- returned. If a non-zero, non-ARGP_ERR_UNKNOWN value is returned, then
- parsing is stopped immediately, and that value is returned from
- argp_parse(). For special (non-user-supplied) values of KEY, see the
- ARGP_KEY_ definitions below. */
- argp_parser_t parser;
-
- /* A string describing what other arguments are wanted by this program. It
- is only used by argp_usage to print the `Usage:' message. If it
- contains newlines, the strings separated by them are considered
- alternative usage patterns, and printed on separate lines (lines after
- the first are prefix by ` or: ' instead of `Usage:'). */
- const char *args_doc;
-
- /* If non-NULL, a string containing extra text to be printed before and
- after the options in a long help message (separated by a vertical tab
- `\v' character). */
- const char *doc;
-
- /* A vector of argp_children structures, terminated by a member with a 0
- argp field, pointing to child argps should be parsed with this one. Any
- conflicts are resolved in favor of this argp, or early argps in the
- CHILDREN list. This field is useful if you use libraries that supply
- their own argp structure, which you want to use in conjunction with your
- own. */
- const struct argp_child *children;
-
- /* If non-zero, this should be a function to filter the output of help
- messages. KEY is either a key from an option, in which case TEXT is
- that option's help text, or a special key from the ARGP_KEY_HELP_
- defines, below, describing which other help text TEXT is. The function
- should return either TEXT, if it should be used as-is, a replacement
- string, which should be malloced, and will be freed by argp, or NULL,
- meaning `print nothing'. The value for TEXT is *after* any translation
- has been done, so if any of the replacement text also needs translation,
- that should be done by the filter function. INPUT is either the input
- supplied to argp_parse, or NULL, if argp_help was called directly. */
- char *(*help_filter) (int __key, const char *__text, void *__input);
-
- /* If non-zero the strings used in the argp library are translated using
- the domain described by this string. Otherwise the currently installed
- default domain is used. */
- const char *argp_domain;
-};
-
-/* Possible KEY arguments to a help filter function. */
-#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceeding options. */
-#define ARGP_KEY_HELP_POST_DOC 0x2000002 /* Help text following options. */
-#define ARGP_KEY_HELP_HEADER 0x2000003 /* Option header string. */
-#define ARGP_KEY_HELP_EXTRA 0x2000004 /* After all other documentation;
- TEXT is NULL for this key. */
-/* Explanatory note emitted when duplicate option arguments have been
- suppressed. */
-#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
-#define ARGP_KEY_HELP_ARGS_DOC 0x2000006 /* Argument doc string. */
-
-/* When an argp has a non-zero CHILDREN field, it should point to a vector of
- argp_child structures, each of which describes a subsidiary argp. */
-struct argp_child
-{
- /* The child parser. */
- const struct argp *argp;
-
- /* Flags for this child. */
- int flags;
-
- /* If non-zero, an optional header to be printed in help output before the
- child options. As a side-effect, a non-zero value forces the child
- options to be grouped together; to achieve this effect without actually
- printing a header string, use a value of "". */
- const char *header;
-
- /* Where to group the child options relative to the other (`consolidated')
- options in the parent argp; the values are the same as the GROUP field
- in argp_option structs, but all child-groupings follow parent options at
- a particular group level. If both this field and HEADER are zero, then
- they aren't grouped at all, but rather merged with the parent options
- (merging the child's grouping levels with the parents). */
- int group;
-};
-
-/* Parsing state. This is provided to parsing functions called by argp,
- which may examine and, as noted, modify fields. */
-struct argp_state
-{
- /* The top level ARGP being parsed. */
- const struct argp *root_argp;
-
- /* The argument vector being parsed. May be modified. */
- int argc;
- char **argv;
-
- /* The index in ARGV of the next arg that to be parsed. May be modified. */
- int next;
-
- /* The flags supplied to argp_parse. May be modified. */
- unsigned flags;
-
- /* While calling a parsing function with a key of ARGP_KEY_ARG, this is the
- number of the current arg, starting at zero, and incremented after each
- such call returns. At all other times, this is the number of such
- arguments that have been processed. */
- unsigned arg_num;
-
- /* If non-zero, the index in ARGV of the first argument following a special
- `--' argument (which prevents anything following being interpreted as an
- option). Only set once argument parsing has proceeded past this point. */
- int quoted;
-
- /* An arbitrary pointer passed in from the user. */
- void *input;
- /* Values to pass to child parsers. This vector will be the same length as
- the number of children for the current parser. */
- void **child_inputs;
-
- /* For the parser's use. Initialized to 0. */
- void *hook;
-
- /* The name used when printing messages. This is initialized to ARGV[0],
- or PROGRAM_INVOCATION_NAME if that is unavailable. */
- char *name;
-
- /* Streams used when argp prints something. */
- FILE *err_stream; /* For errors; initialized to stderr. */
- FILE *out_stream; /* For information; initialized to stdout. */
-
- void *pstate; /* Private, for use by argp. */
-};
-
-/* Flags for argp_parse (note that the defaults are those that are
- convenient for program command line parsing): */
-
-/* Don't ignore the first element of ARGV. Normally (and always unless
- ARGP_NO_ERRS is set) the first element of the argument vector is
- skipped for option parsing purposes, as it corresponds to the program name
- in a command line. */
-#define ARGP_PARSE_ARGV0 0x01
-
-/* Don't print error messages for unknown options to stderr; unless this flag
- is set, ARGP_PARSE_ARGV0 is ignored, as ARGV[0] is used as the program
- name in the error messages. This flag implies ARGP_NO_EXIT (on the
- assumption that silent exiting upon errors is bad behaviour). */
-#define ARGP_NO_ERRS 0x02
-
-/* Don't parse any non-option args. Normally non-option args are parsed by
- calling the parse functions with a key of ARGP_KEY_ARG, and the actual arg
- as the value. Since it's impossible to know which parse function wants to
- handle it, each one is called in turn, until one returns 0 or an error
- other than ARGP_ERR_UNKNOWN; if an argument is handled by no one, the
- argp_parse returns prematurely (but with a return value of 0). If all
- args have been parsed without error, all parsing functions are called one
- last time with a key of ARGP_KEY_END. This flag needn't normally be set,
- as the normal behavior is to stop parsing as soon as some argument can't
- be handled. */
-#define ARGP_NO_ARGS 0x04
-
-/* Parse options and arguments in the same order they occur on the command
- line -- normally they're rearranged so that all options come first. */
-#define ARGP_IN_ORDER 0x08
-
-/* Don't provide the standard long option --help, which causes usage and
- option help information to be output to stdout, and exit (0) called. */
-#define ARGP_NO_HELP 0x10
-
-/* Don't exit on errors (they may still result in error messages). */
-#define ARGP_NO_EXIT 0x20
-
-/* Use the gnu getopt `long-only' rules for parsing arguments. */
-#define ARGP_LONG_ONLY 0x40
-
-/* Turns off any message-printing/exiting options. */
-#define ARGP_SILENT (ARGP_NO_EXIT | ARGP_NO_ERRS | ARGP_NO_HELP)
-
-/* Parse the options strings in ARGC & ARGV according to the options in ARGP.
- FLAGS is one of the ARGP_ flags above. If ARG_INDEX is non-NULL, the
- index in ARGV of the first unparsed option is returned in it. If an
- unknown option is present, ARGP_ERR_UNKNOWN is returned; if some parser
- routine returned a non-zero value, it is returned; otherwise 0 is
- returned. This function may also call exit unless the ARGP_NO_HELP flag
- is set. INPUT is a pointer to a value to be passed in to the parser. */
-extern error_t argp_parse (const struct argp *__restrict __argp,
- int __argc, char **__restrict __argv,
- unsigned __flags, int *__restrict __arg_index,
- void *__restrict __input);
-extern error_t __argp_parse (const struct argp *__restrict __argp,
- int __argc, char **__restrict __argv,
- unsigned __flags, int *__restrict __arg_index,
- void *__restrict __input);
-
-/* Global variables. */
-
-/* If defined or set by the user program to a non-zero value, then a default
- option --version is added (unless the ARGP_NO_HELP flag is used), which
- will print this string followed by a newline and exit (unless the
- ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */
-extern const char *argp_program_version;
-
-/* If defined or set by the user program to a non-zero value, then a default
- option --version is added (unless the ARGP_NO_HELP flag is used), which
- calls this function with a stream to print the version to and a pointer to
- the current parsing state, and then exits (unless the ARGP_NO_EXIT flag is
- used). This variable takes precedent over ARGP_PROGRAM_VERSION. */
-extern void (*argp_program_version_hook) (FILE *__restrict __stream,
- struct argp_state *__restrict
- __state);
-
-/* If defined or set by the user program, it should point to string that is
- the bug-reporting address for the program. It will be printed by
- argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various
- standard help messages), embedded in a sentence that says something like
- `Report bugs to ADDR.'. */
-extern const char *argp_program_bug_address;
-
-/* The exit status that argp will use when exiting due to a parsing error.
- If not defined or set by the user program, this defaults to EX_USAGE from
- . */
-extern error_t argp_err_exit_status;
-
-/* Flags for argp_help. */
-#define ARGP_HELP_USAGE 0x01 /* a Usage: message. */
-#define ARGP_HELP_SHORT_USAGE 0x02 /* " but don't actually print options. */
-#define ARGP_HELP_SEE 0x04 /* a `Try ... for more help' message. */
-#define ARGP_HELP_LONG 0x08 /* a long help message. */
-#define ARGP_HELP_PRE_DOC 0x10 /* doc string preceding long help. */
-#define ARGP_HELP_POST_DOC 0x20 /* doc string following long help. */
-#define ARGP_HELP_DOC (ARGP_HELP_PRE_DOC | ARGP_HELP_POST_DOC)
-#define ARGP_HELP_BUG_ADDR 0x40 /* bug report address */
-#define ARGP_HELP_LONG_ONLY 0x80 /* modify output appropriately to
- reflect ARGP_LONG_ONLY mode. */
-
-/* These ARGP_HELP flags are only understood by argp_state_help. */
-#define ARGP_HELP_EXIT_ERR 0x100 /* Call exit(1) instead of returning. */
-#define ARGP_HELP_EXIT_OK 0x200 /* Call exit(0) instead of returning. */
-
-/* The standard thing to do after a program command line parsing error, if an
- error message has already been printed. */
-#define ARGP_HELP_STD_ERR \
- (ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR)
-/* The standard thing to do after a program command line parsing error, if no
- more specific error message has been printed. */
-#define ARGP_HELP_STD_USAGE \
- (ARGP_HELP_SHORT_USAGE | ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR)
-/* The standard thing to do in response to a --help option. */
-#define ARGP_HELP_STD_HELP \
- (ARGP_HELP_SHORT_USAGE | ARGP_HELP_LONG | ARGP_HELP_EXIT_OK \
- | ARGP_HELP_DOC | ARGP_HELP_BUG_ADDR)
-
-/* Output a usage message for ARGP to STREAM. FLAGS are from the set
- ARGP_HELP_*. */
-extern void argp_help (const struct argp *__restrict __argp,
- FILE *__restrict __stream,
- unsigned __flags, char *__restrict __name);
-extern void __argp_help (const struct argp *__restrict __argp,
- FILE *__restrict __stream, unsigned __flags,
- char *__name);
-
-/* The following routines are intended to be called from within an argp
- parsing routine (thus taking an argp_state structure as the first
- argument). They may or may not print an error message and exit, depending
- on the flags in STATE -- in any case, the caller should be prepared for
- them *not* to exit, and should return an appropiate error after calling
- them. [argp_usage & argp_error should probably be called argp_state_...,
- but they're used often enough that they should be short] */
-
-/* Output, if appropriate, a usage message for STATE to STREAM. FLAGS are
- from the set ARGP_HELP_*. */
-extern void argp_state_help (const struct argp_state *__restrict __state,
- FILE *__restrict __stream,
- unsigned int __flags);
-extern void __argp_state_help (const struct argp_state *__restrict __state,
- FILE *__restrict __stream,
- unsigned int __flags);
-
-/* Possibly output the standard usage message for ARGP to stderr and exit. */
-extern void argp_usage (const struct argp_state *__state);
-extern void __argp_usage (const struct argp_state *__state);
-
-/* If appropriate, print the printf string FMT and following args, preceded
- by the program name and `:', to stderr, and followed by a `Try ... --help'
- message, then exit (1). */
-extern void argp_error (const struct argp_state *__restrict __state,
- const char *__restrict __fmt, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 3));
-extern void __argp_error (const struct argp_state *__restrict __state,
- const char *__restrict __fmt, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 3));
-
-/* Similar to the standard gnu error-reporting function error(), but will
- respect the ARGP_NO_EXIT and ARGP_NO_ERRS flags in STATE, and will print
- to STATE->err_stream. This is useful for argument parsing code that is
- shared between program startup (when exiting is desired) and runtime
- option parsing (when typically an error code is returned instead). The
- difference between this function and argp_error is that the latter is for
- *parsing errors*, and the former is for other problems that occur during
- parsing but don't reflect a (syntactic) problem with the input. */
-extern void argp_failure (const struct argp_state *__restrict __state,
- int __status, int __errnum,
- const char *__restrict __fmt, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 4, 5));
-extern void __argp_failure (const struct argp_state *__restrict __state,
- int __status, int __errnum,
- const char *__restrict __fmt, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 4, 5));
-
-/* Returns true if the option OPT is a valid short option. */
-extern int _option_is_short (const struct argp_option *__opt) __THROW;
-extern int __option_is_short (const struct argp_option *__opt) __THROW;
-
-/* Returns true if the option OPT is in fact the last (unused) entry in an
- options array. */
-extern int _option_is_end (const struct argp_option *__opt) __THROW;
-extern int __option_is_end (const struct argp_option *__opt) __THROW;
-
-/* Return the input field for ARGP in the parser corresponding to STATE; used
- by the help routines. */
-extern void *_argp_input (const struct argp *__restrict __argp,
- const struct argp_state *__restrict __state)
- __THROW;
-extern void *__argp_input (const struct argp *__restrict __argp,
- const struct argp_state *__restrict __state)
- __THROW;
-
-#ifdef __USE_EXTERN_INLINES
-
-# if !_LIBC
-# define __argp_usage argp_usage
-# define __argp_state_help argp_state_help
-# define __option_is_short _option_is_short
-# define __option_is_end _option_is_end
-# endif
-
-# ifndef ARGP_EI
-# define ARGP_EI __extern_inline
-# endif
-
-ARGP_EI void
-__argp_usage (const struct argp_state *__state)
-{
- __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
-}
-
-ARGP_EI int
-__NTH (__option_is_short (const struct argp_option *__opt))
-{
- if (__opt->flags & OPTION_DOC)
- return 0;
- else
- {
- int __key = __opt->key;
- return __key > 0 && __key <= UCHAR_MAX && isprint (__key);
- }
-}
-
-ARGP_EI int
-__NTH (__option_is_end (const struct argp_option *__opt))
-{
- return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
-}
-
-# if !_LIBC
-# undef __argp_usage
-# undef __argp_state_help
-# undef __option_is_short
-# undef __option_is_end
-# endif
-#endif /* Use extern inlines. */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* argp.h */
diff --git a/src/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
deleted file mode 100644
index c1bc5f7..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/argz.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Routines for dealing with '\0' separated arg vectors.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _ARGZ_H
-#define _ARGZ_H 1
-
-#include
-
-#define __need_error_t
-#include
-#include /* Need size_t, and strchr is called below. */
-
-#ifndef __error_t_defined
-typedef int error_t;
-#endif
-
-
-__BEGIN_DECLS
-
-/* Make a '\0' separated arg vector from a unix argv vector, returning it in
- ARGZ, and the total length in LEN. If a memory allocation error occurs,
- ENOMEM is returned, otherwise 0. The result can be destroyed using free. */
-extern error_t __argz_create (char *const __argv[], char **__restrict __argz,
- size_t *__restrict __len) __THROW;
-extern error_t argz_create (char *const __argv[], char **__restrict __argz,
- size_t *__restrict __len) __THROW;
-
-/* Make a '\0' separated arg vector from a SEP separated list in
- STRING, returning it in ARGZ, and the total length in LEN. If a
- memory allocation error occurs, ENOMEM is returned, otherwise 0.
- The result can be destroyed using free. */
-extern error_t __argz_create_sep (const char *__restrict __string,
- int __sep, char **__restrict __argz,
- size_t *__restrict __len) __THROW;
-extern error_t argz_create_sep (const char *__restrict __string,
- int __sep, char **__restrict __argz,
- size_t *__restrict __len) __THROW;
-
-/* Returns the number of strings in ARGZ. */
-extern size_t __argz_count (const char *__argz, size_t __len)
- __THROW __attribute_pure__;
-extern size_t argz_count (const char *__argz, size_t __len)
- __THROW __attribute_pure__;
-
-/* Puts pointers to each string in ARGZ into ARGV, which must be large enough
- to hold them all. */
-extern void __argz_extract (const char *__restrict __argz, size_t __len,
- char **__restrict __argv) __THROW;
-extern void argz_extract (const char *__restrict __argz, size_t __len,
- char **__restrict __argv) __THROW;
-
-/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
- except the last into the character SEP. */
-extern void __argz_stringify (char *__argz, size_t __len, int __sep) __THROW;
-extern void argz_stringify (char *__argz, size_t __len, int __sep) __THROW;
-
-/* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN. */
-extern error_t __argz_append (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __buf, size_t __buf_len)
- __THROW;
-extern error_t argz_append (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __buf, size_t __buf_len)
- __THROW;
-
-/* Append STR to the argz vector in ARGZ & ARGZ_LEN. */
-extern error_t __argz_add (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __str) __THROW;
-extern error_t argz_add (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __str) __THROW;
-
-/* Append SEP separated list in STRING to the argz vector in ARGZ &
- ARGZ_LEN. */
-extern error_t __argz_add_sep (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __string, int __delim)
- __THROW;
-extern error_t argz_add_sep (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __string, int __delim)
- __THROW;
-
-/* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there. */
-extern void __argz_delete (char **__restrict __argz,
- size_t *__restrict __argz_len,
- char *__restrict __entry) __THROW;
-extern void argz_delete (char **__restrict __argz,
- size_t *__restrict __argz_len,
- char *__restrict __entry) __THROW;
-
-/* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an
- existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end.
- Since ARGZ's first entry is the same as ARGZ, argz_insert (ARGZ, ARGZ_LEN,
- ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ. If BEFORE is not
- in ARGZ, EINVAL is returned, else if memory can't be allocated for the new
- ARGZ, ENOMEM is returned, else 0. */
-extern error_t __argz_insert (char **__restrict __argz,
- size_t *__restrict __argz_len,
- char *__restrict __before,
- const char *__restrict __entry) __THROW;
-extern error_t argz_insert (char **__restrict __argz,
- size_t *__restrict __argz_len,
- char *__restrict __before,
- const char *__restrict __entry) __THROW;
-
-/* Replace any occurrences of the string STR in ARGZ with WITH, reallocating
- ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be
- incremented by number of replacements performed. */
-extern error_t __argz_replace (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __str,
- const char *__restrict __with,
- unsigned int *__restrict __replace_count);
-extern error_t argz_replace (char **__restrict __argz,
- size_t *__restrict __argz_len,
- const char *__restrict __str,
- const char *__restrict __with,
- unsigned int *__restrict __replace_count);
-
-/* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there
- are no more. If entry is NULL, then the first entry is returned. This
- behavior allows two convenient iteration styles:
-
- char *entry = 0;
- while ((entry = argz_next (argz, argz_len, entry)))
- ...;
-
- or
-
- char *entry;
- for (entry = argz; entry; entry = argz_next (argz, argz_len, entry))
- ...;
-*/
-extern char *__argz_next (const char *__restrict __argz, size_t __argz_len,
- const char *__restrict __entry) __THROW;
-extern char *argz_next (const char *__restrict __argz, size_t __argz_len,
- const char *__restrict __entry) __THROW;
-
-#ifdef __USE_EXTERN_INLINES
-__extern_inline char *
-__NTH (__argz_next (const char *__argz, size_t __argz_len,
- const char *__entry))
-{
- if (__entry)
- {
- if (__entry < __argz + __argz_len)
- __entry = strchr (__entry, '\0') + 1;
-
- return __entry >= __argz + __argz_len ? (char *) NULL : (char *) __entry;
- }
- else
- return __argz_len > 0 ? (char *) __argz : 0;
-}
-__extern_inline char *
-__NTH (argz_next (const char *__argz, size_t __argz_len,
- const char *__entry))
-{
- return __argz_next (__argz, __argz_len, __entry);
-}
-#endif /* Use extern inlines. */
-
-__END_DECLS
-
-#endif /* argz.h */
diff --git a/src/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
deleted file mode 100644
index e5b340d..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/ftp.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1983, 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)ftp.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _ARPA_FTP_H
-#define _ARPA_FTP_H 1
-
-/* Definitions for FTP; see RFC-765. */
-
-/*
- * Reply codes.
- */
-#define PRELIM 1 /* positive preliminary */
-#define COMPLETE 2 /* positive completion */
-#define CONTINUE 3 /* positive intermediate */
-#define TRANSIENT 4 /* transient negative completion */
-#define ERROR 5 /* permanent negative completion */
-
-/*
- * Type codes
- */
-#define TYPE_A 1 /* ASCII */
-#define TYPE_E 2 /* EBCDIC */
-#define TYPE_I 3 /* image */
-#define TYPE_L 4 /* local byte size */
-
-#ifdef FTP_NAMES
-char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" };
-#endif
-
-/*
- * Form codes
- */
-#define FORM_N 1 /* non-print */
-#define FORM_T 2 /* telnet format effectors */
-#define FORM_C 3 /* carriage control (ASA) */
-#ifdef FTP_NAMES
-char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" };
-#endif
-
-/*
- * Structure codes
- */
-#define STRU_F 1 /* file (no record structure) */
-#define STRU_R 2 /* record structure */
-#define STRU_P 3 /* page structure */
-#ifdef FTP_NAMES
-char *strunames[] = {"0", "File", "Record", "Page" };
-#endif
-
-/*
- * Mode types
- */
-#define MODE_S 1 /* stream */
-#define MODE_B 2 /* block */
-#define MODE_C 3 /* compressed */
-#ifdef FTP_NAMES
-char *modenames[] = {"0", "Stream", "Block", "Compressed" };
-#endif
-
-/*
- * Record Tokens
- */
-#define REC_ESC '\377' /* Record-mode Escape */
-#define REC_EOR '\001' /* Record-mode End-of-Record */
-#define REC_EOF '\002' /* Record-mode End-of-File */
-
-/*
- * Block Header
- */
-#define BLK_EOR 0x80 /* Block is End-of-Record */
-#define BLK_EOF 0x40 /* Block is End-of-File */
-#define BLK_ERRORS 0x20 /* Block is suspected of containing errors */
-#define BLK_RESTART 0x10 /* Block is Restart Marker */
-
-#define BLK_BYTECOUNT 2 /* Bytes in this block */
-
-#endif /* arpa/ftp.h */
diff --git a/src/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
deleted file mode 100644
index 94d3330..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/inet.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _ARPA_INET_H
-#define _ARPA_INET_H 1
-
-#include
-#include /* To define `struct in_addr'. */
-
-/* Type for length arguments in socket calls. */
-#ifndef __socklen_t_defined
-typedef __socklen_t socklen_t;
-# define __socklen_t_defined
-#endif
-
-__BEGIN_DECLS
-
-/* Convert Internet host address from numbers-and-dots notation in CP
- into binary data in network byte order. */
-extern in_addr_t inet_addr (const char *__cp) __THROW;
-
-/* Return the local host address part of the Internet address in IN. */
-extern in_addr_t inet_lnaof (struct in_addr __in) __THROW;
-
-/* Make Internet host address in network byte order by combining the
- network number NET with the local address HOST. */
-extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host)
- __THROW;
-
-/* Return network number part of the Internet address IN. */
-extern in_addr_t inet_netof (struct in_addr __in) __THROW;
-
-/* Extract the network number in network byte order from the address
- in numbers-and-dots natation starting at CP. */
-extern in_addr_t inet_network (const char *__cp) __THROW;
-
-/* Convert Internet number in IN to ASCII representation. The return value
- is a pointer to an internal array containing the string. */
-extern char *inet_ntoa (struct in_addr __in) __THROW;
-
-/* Convert from presentation format of an Internet number in buffer
- starting at CP to the binary network format and store result for
- interface type AF in buffer starting at BUF. */
-extern int inet_pton (int __af, const char *__restrict __cp,
- void *__restrict __buf) __THROW;
-
-/* Convert a Internet address in binary network format for interface
- type AF in buffer starting at CP to presentation form and place
- result in buffer of length LEN astarting at BUF. */
-extern const char *inet_ntop (int __af, const void *__restrict __cp,
- char *__restrict __buf, socklen_t __len)
- __THROW;
-
-
-/* The following functions are not part of XNS 5.2. */
-#ifdef __USE_MISC
-/* Convert Internet host address from numbers-and-dots notation in CP
- into binary data and store the result in the structure INP. */
-extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW;
-
-/* Format a network number NET into presentation format and place result
- in buffer starting at BUF with length of LEN bytes. */
-extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW;
-
-/* Convert network number for interface type AF in buffer starting at
- CP to presentation format. The result will specifiy BITS bits of
- the number. */
-extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
- char *__buf, size_t __len) __THROW;
-
-/* Convert network number for interface type AF from presentation in
- buffer starting at CP to network format and store result int
- buffer starting at BUF of size LEN. */
-extern int inet_net_pton (int __af, const char *__cp,
- void *__buf, size_t __len) __THROW;
-
-/* Convert ASCII representation in hexadecimal form of the Internet
- address to binary form and place result in buffer of length LEN
- starting at BUF. */
-extern unsigned int inet_nsap_addr (const char *__cp,
- unsigned char *__buf, int __len) __THROW;
-
-/* Convert internet address in binary form in LEN bytes starting at CP
- a presentation form and place result in BUF. */
-extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp,
- char *__buf) __THROW;
-#endif
-
-__END_DECLS
-
-#endif /* arpa/inet.h */
diff --git a/src/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
deleted file mode 100644
index fb8513b..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser.h
+++ /dev/null
@@ -1,535 +0,0 @@
-/*
- * Copyright (c) 1983, 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996-1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-/*
- * $BINDId: nameser.h,v 8.37 2000/03/30 21:16:49 vixie Exp $
- */
-
-#ifndef _ARPA_NAMESER_H_
-#define _ARPA_NAMESER_H_
-
-/*! \file */
-
-#define BIND_4_COMPAT
-
-#include
-#if (!defined(BSD)) || (BSD < 199306)
-# include
-#else
-# include
-#endif
-#include
-
-/*%
- * Revision information. This is the release date in YYYYMMDD format.
- * It can change every day so the right thing to do with it is use it
- * in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
- * compare for equality; rather, use it to determine whether your libbind.a
- * contains a new enough lib/nameser/ to support the feature you need.
- */
-
-#define __NAMESER 19991006 /*%< New interface version stamp. */
-/*
- * Define constants based on RFC 883, RFC 1034, RFC 1035
- */
-#define NS_PACKETSZ 512 /*%< default UDP packet size */
-#define NS_MAXDNAME 1025 /*%< maximum domain name */
-#define NS_MAXMSG 65535 /*%< maximum message size */
-#define NS_MAXCDNAME 255 /*%< maximum compressed domain name */
-#define NS_MAXLABEL 63 /*%< maximum length of domain label */
-#define NS_HFIXEDSZ 12 /*%< #/bytes of fixed data in header */
-#define NS_QFIXEDSZ 4 /*%< #/bytes of fixed data in query */
-#define NS_RRFIXEDSZ 10 /*%< #/bytes of fixed data in r record */
-#define NS_INT32SZ 4 /*%< #/bytes of data in a u_int32_t */
-#define NS_INT16SZ 2 /*%< #/bytes of data in a u_int16_t */
-#define NS_INT8SZ 1 /*%< #/bytes of data in a u_int8_t */
-#define NS_INADDRSZ 4 /*%< IPv4 T_A */
-#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
-#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
-#define NS_DEFAULTPORT 53 /*%< For both TCP and UDP. */
-/*
- * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
- * in synch with it.
- */
-typedef enum __ns_sect {
- ns_s_qd = 0, /*%< Query: Question. */
- ns_s_zn = 0, /*%< Update: Zone. */
- ns_s_an = 1, /*%< Query: Answer. */
- ns_s_pr = 1, /*%< Update: Prerequisites. */
- ns_s_ns = 2, /*%< Query: Name servers. */
- ns_s_ud = 2, /*%< Update: Update. */
- ns_s_ar = 3, /*%< Query|Update: Additional records. */
- ns_s_max = 4
-} ns_sect;
-
-/*%
- * This is a message handle. It is caller allocated and has no dynamic data.
- * This structure is intended to be opaque to all but ns_parse.c, thus the
- * leading _'s on the member names. Use the accessor functions, not the _'s.
- */
-typedef struct __ns_msg {
- const u_char *_msg, *_eom;
- u_int16_t _id, _flags, _counts[ns_s_max];
- const u_char *_sections[ns_s_max];
- ns_sect _sect;
- int _rrnum;
- const u_char *_msg_ptr;
-} ns_msg;
-
-/* Private data structure - do not use from outside library. */
-struct _ns_flagdata { int mask, shift; };
-extern const struct _ns_flagdata _ns_flagdata[];
-
-/* Accessor macros - this is part of the public interface. */
-
-#define ns_msg_id(handle) ((handle)._id + 0)
-#define ns_msg_base(handle) ((handle)._msg + 0)
-#define ns_msg_end(handle) ((handle)._eom + 0)
-#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
-#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
-
-/*%
- * This is a parsed record. It is caller allocated and has no dynamic data.
- */
-typedef struct __ns_rr {
- char name[NS_MAXDNAME];
- u_int16_t type;
- u_int16_t rr_class;
- u_int32_t ttl;
- u_int16_t rdlength;
- const u_char * rdata;
-} ns_rr;
-
-/* Accessor macros - this is part of the public interface. */
-#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
-#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
-#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
-#define ns_rr_ttl(rr) ((rr).ttl + 0)
-#define ns_rr_rdlen(rr) ((rr).rdlength + 0)
-#define ns_rr_rdata(rr) ((rr).rdata + 0)
-
-/*%
- * These don't have to be in the same order as in the packet flags word,
- * and they can even overlap in some cases, but they will need to be kept
- * in synch with ns_parse.c:ns_flagdata[].
- */
-typedef enum __ns_flag {
- ns_f_qr, /*%< Question/Response. */
- ns_f_opcode, /*%< Operation code. */
- ns_f_aa, /*%< Authoritative Answer. */
- ns_f_tc, /*%< Truncation occurred. */
- ns_f_rd, /*%< Recursion Desired. */
- ns_f_ra, /*%< Recursion Available. */
- ns_f_z, /*%< MBZ. */
- ns_f_ad, /*%< Authentic Data (DNSSEC). */
- ns_f_cd, /*%< Checking Disabled (DNSSEC). */
- ns_f_rcode, /*%< Response code. */
- ns_f_max
-} ns_flag;
-
-/*%
- * Currently defined opcodes.
- */
-typedef enum __ns_opcode {
- ns_o_query = 0, /*%< Standard query. */
- ns_o_iquery = 1, /*%< Inverse query (deprecated/unsupported). */
- ns_o_status = 2, /*%< Name server status query (unsupported). */
- /* Opcode 3 is undefined/reserved. */
- ns_o_notify = 4, /*%< Zone change notification. */
- ns_o_update = 5, /*%< Zone update message. */
- ns_o_max = 6
-} ns_opcode;
-
-/*%
- * Currently defined response codes.
- */
-typedef enum __ns_rcode {
- ns_r_noerror = 0, /*%< No error occurred. */
- ns_r_formerr = 1, /*%< Format error. */
- ns_r_servfail = 2, /*%< Server failure. */
- ns_r_nxdomain = 3, /*%< Name error. */
- ns_r_notimpl = 4, /*%< Unimplemented. */
- ns_r_refused = 5, /*%< Operation refused. */
- /* these are for BIND_UPDATE */
- ns_r_yxdomain = 6, /*%< Name exists */
- ns_r_yxrrset = 7, /*%< RRset exists */
- ns_r_nxrrset = 8, /*%< RRset does not exist */
- ns_r_notauth = 9, /*%< Not authoritative for zone */
- ns_r_notzone = 10, /*%< Zone of record different from zone section */
- ns_r_max = 11,
- /* The following are EDNS extended rcodes */
- ns_r_badvers = 16,
- /* The following are TSIG errors */
- ns_r_badsig = 16,
- ns_r_badkey = 17,
- ns_r_badtime = 18
-} ns_rcode;
-
-/* BIND_UPDATE */
-typedef enum __ns_update_operation {
- ns_uop_delete = 0,
- ns_uop_add = 1,
- ns_uop_max = 2
-} ns_update_operation;
-
-/*%
- * This structure is used for TSIG authenticated messages
- */
-struct ns_tsig_key {
- char name[NS_MAXDNAME], alg[NS_MAXDNAME];
- unsigned char *data;
- int len;
-};
-typedef struct ns_tsig_key ns_tsig_key;
-
-/*%
- * This structure is used for TSIG authenticated TCP messages
- */
-struct ns_tcp_tsig_state {
- int counter;
- struct dst_key *key;
- void *ctx;
- unsigned char sig[NS_PACKETSZ];
- int siglen;
-};
-typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
-
-#define NS_TSIG_FUDGE 300
-#define NS_TSIG_TCP_COUNT 100
-#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
-
-#define NS_TSIG_ERROR_NO_TSIG -10
-#define NS_TSIG_ERROR_NO_SPACE -11
-#define NS_TSIG_ERROR_FORMERR -12
-
-/*%
- * Currently defined type values for resources and queries.
- */
-typedef enum __ns_type {
- ns_t_invalid = 0, /*%< Cookie. */
- ns_t_a = 1, /*%< Host address. */
- ns_t_ns = 2, /*%< Authoritative server. */
- ns_t_md = 3, /*%< Mail destination. */
- ns_t_mf = 4, /*%< Mail forwarder. */
- ns_t_cname = 5, /*%< Canonical name. */
- ns_t_soa = 6, /*%< Start of authority zone. */
- ns_t_mb = 7, /*%< Mailbox domain name. */
- ns_t_mg = 8, /*%< Mail group member. */
- ns_t_mr = 9, /*%< Mail rename name. */
- ns_t_null = 10, /*%< Null resource record. */
- ns_t_wks = 11, /*%< Well known service. */
- ns_t_ptr = 12, /*%< Domain name pointer. */
- ns_t_hinfo = 13, /*%< Host information. */
- ns_t_minfo = 14, /*%< Mailbox information. */
- ns_t_mx = 15, /*%< Mail routing information. */
- ns_t_txt = 16, /*%< Text strings. */
- ns_t_rp = 17, /*%< Responsible person. */
- ns_t_afsdb = 18, /*%< AFS cell database. */
- ns_t_x25 = 19, /*%< X_25 calling address. */
- ns_t_isdn = 20, /*%< ISDN calling address. */
- ns_t_rt = 21, /*%< Router. */
- ns_t_nsap = 22, /*%< NSAP address. */
- ns_t_nsap_ptr = 23, /*%< Reverse NSAP lookup (deprecated). */
- ns_t_sig = 24, /*%< Security signature. */
- ns_t_key = 25, /*%< Security key. */
- ns_t_px = 26, /*%< X.400 mail mapping. */
- ns_t_gpos = 27, /*%< Geographical position (withdrawn). */
- ns_t_aaaa = 28, /*%< Ip6 Address. */
- ns_t_loc = 29, /*%< Location Information. */
- ns_t_nxt = 30, /*%< Next domain (security). */
- ns_t_eid = 31, /*%< Endpoint identifier. */
- ns_t_nimloc = 32, /*%< Nimrod Locator. */
- ns_t_srv = 33, /*%< Server Selection. */
- ns_t_atma = 34, /*%< ATM Address */
- ns_t_naptr = 35, /*%< Naming Authority PoinTeR */
- ns_t_kx = 36, /*%< Key Exchange */
- ns_t_cert = 37, /*%< Certification record */
- ns_t_a6 = 38, /*%< IPv6 address (deprecated, use ns_t_aaaa) */
- ns_t_dname = 39, /*%< Non-terminal DNAME (for IPv6) */
- ns_t_sink = 40, /*%< Kitchen sink (experimentatl) */
- ns_t_opt = 41, /*%< EDNS0 option (meta-RR) */
- ns_t_apl = 42, /*%< Address prefix list (RFC3123) */
- ns_t_tkey = 249, /*%< Transaction key */
- ns_t_tsig = 250, /*%< Transaction signature. */
- ns_t_ixfr = 251, /*%< Incremental zone transfer. */
- ns_t_axfr = 252, /*%< Transfer zone of authority. */
- ns_t_mailb = 253, /*%< Transfer mailbox records. */
- ns_t_maila = 254, /*%< Transfer mail agent records. */
- ns_t_any = 255, /*%< Wildcard match. */
- ns_t_zxfr = 256, /*%< BIND-specific, nonstandard. */
- ns_t_max = 65536
-} ns_type;
-
-/* Exclusively a QTYPE? (not also an RTYPE) */
-#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
- (t) == ns_t_mailb || (t) == ns_t_maila)
-/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
-#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
-/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
-#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
-#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
-#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
- (t) == ns_t_zxfr)
-
-/*%
- * Values for class field
- */
-typedef enum __ns_class {
- ns_c_invalid = 0, /*%< Cookie. */
- ns_c_in = 1, /*%< Internet. */
- ns_c_2 = 2, /*%< unallocated/unsupported. */
- ns_c_chaos = 3, /*%< MIT Chaos-net. */
- ns_c_hs = 4, /*%< MIT Hesiod. */
- /* Query class values which do not appear in resource records */
- ns_c_none = 254, /*%< for prereq. sections in update requests */
- ns_c_any = 255, /*%< Wildcard match. */
- ns_c_max = 65536
-} ns_class;
-
-/* DNSSEC constants. */
-
-typedef enum __ns_key_types {
- ns_kt_rsa = 1, /*%< key type RSA/MD5 */
- ns_kt_dh = 2, /*%< Diffie Hellman */
- ns_kt_dsa = 3, /*%< Digital Signature Standard (MANDATORY) */
- ns_kt_private = 254 /*%< Private key type starts with OID */
-} ns_key_types;
-
-typedef enum __ns_cert_types {
- cert_t_pkix = 1, /*%< PKIX (X.509v3) */
- cert_t_spki = 2, /*%< SPKI */
- cert_t_pgp = 3, /*%< PGP */
- cert_t_url = 253, /*%< URL private type */
- cert_t_oid = 254 /*%< OID private type */
-} ns_cert_types;
-
-/* Flags field of the KEY RR rdata. */
-#define NS_KEY_TYPEMASK 0xC000 /*%< Mask for "type" bits */
-#define NS_KEY_TYPE_AUTH_CONF 0x0000 /*%< Key usable for both */
-#define NS_KEY_TYPE_CONF_ONLY 0x8000 /*%< Key usable for confidentiality */
-#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /*%< Key usable for authentication */
-#define NS_KEY_TYPE_NO_KEY 0xC000 /*%< No key usable for either; no key */
-/* The type bits can also be interpreted independently, as single bits: */
-#define NS_KEY_NO_AUTH 0x8000 /*%< Key unusable for authentication */
-#define NS_KEY_NO_CONF 0x4000 /*%< Key unusable for confidentiality */
-#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */
-#define NS_KEY_EXTENDED_FLAGS 0x1000 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED4 0x0800 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED5 0x0400 /*%< reserved - must be zero */
-#define NS_KEY_NAME_TYPE 0x0300 /*%< these bits determine the type */
-#define NS_KEY_NAME_USER 0x0000 /*%< key is assoc. with user */
-#define NS_KEY_NAME_ENTITY 0x0200 /*%< key is assoc. with entity eg host */
-#define NS_KEY_NAME_ZONE 0x0100 /*%< key is zone key */
-#define NS_KEY_NAME_RESERVED 0x0300 /*%< reserved meaning */
-#define NS_KEY_RESERVED8 0x0080 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED9 0x0040 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED10 0x0020 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED11 0x0010 /*%< reserved - must be zero */
-#define NS_KEY_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */
-#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
- NS_KEY_RESERVED4 | \
- NS_KEY_RESERVED5 | \
- NS_KEY_RESERVED8 | \
- NS_KEY_RESERVED9 | \
- NS_KEY_RESERVED10 | \
- NS_KEY_RESERVED11 )
-#define NS_KEY_RESERVED_BITMASK2 0xFFFF /*%< no bits defined here */
-/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
-#define NS_ALG_MD5RSA 1 /*%< MD5 with RSA */
-#define NS_ALG_DH 2 /*%< Diffie Hellman KEY */
-#define NS_ALG_DSA 3 /*%< DSA KEY */
-#define NS_ALG_DSS NS_ALG_DSA
-#define NS_ALG_EXPIRE_ONLY 253 /*%< No alg, no security */
-#define NS_ALG_PRIVATE_OID 254 /*%< Key begins with OID giving alg */
-/* Protocol values */
-/* value 0 is reserved */
-#define NS_KEY_PROT_TLS 1
-#define NS_KEY_PROT_EMAIL 2
-#define NS_KEY_PROT_DNSSEC 3
-#define NS_KEY_PROT_IPSEC 4
-#define NS_KEY_PROT_ANY 255
-
-/* Signatures */
-#define NS_MD5RSA_MIN_BITS 512 /*%< Size of a mod or exp in bits */
-#define NS_MD5RSA_MAX_BITS 4096
- /* Total of binary mod and exp */
-#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
- /* Max length of text sig block */
-#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
-#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
-#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
-
-#define NS_DSA_SIG_SIZE 41
-#define NS_DSA_MIN_SIZE 213
-#define NS_DSA_MAX_BYTES 405
-
-/* Offsets into SIG record rdata to find various values */
-#define NS_SIG_TYPE 0 /*%< Type flags */
-#define NS_SIG_ALG 2 /*%< Algorithm */
-#define NS_SIG_LABELS 3 /*%< How many labels in name */
-#define NS_SIG_OTTL 4 /*%< Original TTL */
-#define NS_SIG_EXPIR 8 /*%< Expiration time */
-#define NS_SIG_SIGNED 12 /*%< Signature time */
-#define NS_SIG_FOOT 16 /*%< Key footprint */
-#define NS_SIG_SIGNER 18 /*%< Domain name of who signed it */
-/* How RR types are represented as bit-flags in NXT records */
-#define NS_NXT_BITS 8
-#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_MAX 127
-
-/*%
- * EDNS0 extended flags and option codes, host order.
- */
-#define NS_OPT_DNSSEC_OK 0x8000U
-#define NS_OPT_NSID 3
-
-/*%
- * Inline versions of get/put short/long. Pointer is advanced.
- */
-#define NS_GET16(s, cp) do { \
- const u_char *t_cp = (const u_char *)(cp); \
- (s) = ((u_int16_t)t_cp[0] << 8) \
- | ((u_int16_t)t_cp[1]) \
- ; \
- (cp) += NS_INT16SZ; \
-} while (0)
-
-#define NS_GET32(l, cp) do { \
- const u_char *t_cp = (const u_char *)(cp); \
- (l) = ((u_int32_t)t_cp[0] << 24) \
- | ((u_int32_t)t_cp[1] << 16) \
- | ((u_int32_t)t_cp[2] << 8) \
- | ((u_int32_t)t_cp[3]) \
- ; \
- (cp) += NS_INT32SZ; \
-} while (0)
-
-#define NS_PUT16(s, cp) do { \
- u_int16_t t_s = (u_int16_t)(s); \
- u_char *t_cp = (u_char *)(cp); \
- *t_cp++ = t_s >> 8; \
- *t_cp = t_s; \
- (cp) += NS_INT16SZ; \
-} while (0)
-
-#define NS_PUT32(l, cp) do { \
- u_int32_t t_l = (u_int32_t)(l); \
- u_char *t_cp = (u_char *)(cp); \
- *t_cp++ = t_l >> 24; \
- *t_cp++ = t_l >> 16; \
- *t_cp++ = t_l >> 8; \
- *t_cp = t_l; \
- (cp) += NS_INT32SZ; \
-} while (0)
-
-__BEGIN_DECLS
-int ns_msg_getflag (ns_msg, int) __THROW;
-u_int ns_get16 (const u_char *) __THROW;
-u_long ns_get32 (const u_char *) __THROW;
-void ns_put16 (u_int, u_char *) __THROW;
-void ns_put32 (u_long, u_char *) __THROW;
-int ns_initparse (const u_char *, int, ns_msg *) __THROW;
-int ns_skiprr (const u_char *, const u_char *, ns_sect, int)
- __THROW;
-int ns_parserr (ns_msg *, ns_sect, int, ns_rr *) __THROW;
-int ns_sprintrr (const ns_msg *, const ns_rr *,
- const char *, const char *, char *, size_t)
- __THROW;
-int ns_sprintrrf (const u_char *, size_t, const char *,
- ns_class, ns_type, u_long, const u_char *,
- size_t, const char *, const char *,
- char *, size_t) __THROW;
-int ns_format_ttl (u_long, char *, size_t) __THROW;
-int ns_parse_ttl (const char *, u_long *) __THROW;
-u_int32_t ns_datetosecs (const char *, int *) __THROW;
-int ns_name_ntol (const u_char *, u_char *, size_t) __THROW;
-int ns_name_ntop (const u_char *, char *, size_t) __THROW;
-int ns_name_pton (const char *, u_char *, size_t) __THROW;
-int ns_name_unpack (const u_char *, const u_char *,
- const u_char *, u_char *, size_t) __THROW;
-int ns_name_pack (const u_char *, u_char *, int,
- const u_char **, const u_char **) __THROW;
-int ns_name_uncompress (const u_char *, const u_char *,
- const u_char *, char *, size_t) __THROW;
-int ns_name_compress (const char *, u_char *, size_t,
- const u_char **, const u_char **) __THROW;
-int ns_name_skip (const u_char **, const u_char *) __THROW;
-void ns_name_rollback (const u_char *, const u_char **,
- const u_char **) __THROW;
-int ns_sign (u_char *, int *, int, int, void *,
- const u_char *, int, u_char *, int *, time_t) __THROW;
-int ns_sign2 (u_char *, int *, int, int, void *,
- const u_char *, int, u_char *, int *, time_t,
- u_char **, u_char **) __THROW;
-int ns_sign_tcp (u_char *, int *, int, int,
- ns_tcp_tsig_state *, int) __THROW;
-int ns_sign_tcp2 (u_char *, int *, int, int,
- ns_tcp_tsig_state *, int,
- u_char **, u_char **) __THROW;
-int ns_sign_tcp_init (void *, const u_char *, int,
- ns_tcp_tsig_state *) __THROW;
-u_char *ns_find_tsig (u_char *, u_char *) __THROW;
-int ns_verify (u_char *, int *, void *, const u_char *, int,
- u_char *, int *, time_t *, int) __THROW;
-int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int)
- __THROW;
-int ns_verify_tcp_init (void *, const u_char *, int,
- ns_tcp_tsig_state *) __THROW;
-int ns_samedomain (const char *, const char *) __THROW;
-int ns_subdomain (const char *, const char *) __THROW;
-int ns_makecanon (const char *, char *, size_t) __THROW;
-int ns_samename (const char *, const char *) __THROW;
-__END_DECLS
-
-#ifdef BIND_4_COMPAT
-#include
-#endif
-
-#endif /* !_ARPA_NAMESER_H_ */
-/*! \file */
diff --git a/src/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
deleted file mode 100644
index d59c9e4..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/nameser_compat.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Copyright (c) 1983, 1989
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*%
- * from nameser.h 8.1 (Berkeley) 6/2/93
- * $BINDId: nameser_compat.h,v 8.11 1999/01/02 08:00:58 vixie Exp $
- */
-
-#ifndef _ARPA_NAMESER_COMPAT_
-#define _ARPA_NAMESER_COMPAT_
-
-#define __BIND 19950621 /*%< (DEAD) interface version stamp. */
-
-#include
-
-/*%
- * Structure for query header. The order of the fields is machine- and
- * compiler-dependent, depending on the byte/bit order and the layout
- * of bit fields. We use bit fields only in int variables, as this
- * is all ANSI requires. This requires a somewhat confusing rearrangement.
- */
-
-typedef struct {
- unsigned id :16; /*%< query identification number */
-#if BYTE_ORDER == BIG_ENDIAN
- /* fields in third byte */
- unsigned qr: 1; /*%< response flag */
- unsigned opcode: 4; /*%< purpose of message */
- unsigned aa: 1; /*%< authoritive answer */
- unsigned tc: 1; /*%< truncated message */
- unsigned rd: 1; /*%< recursion desired */
- /* fields in fourth byte */
- unsigned ra: 1; /*%< recursion available */
- unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */
- unsigned ad: 1; /*%< authentic data from named */
- unsigned cd: 1; /*%< checking disabled by resolver */
- unsigned rcode :4; /*%< response code */
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
- /* fields in third byte */
- unsigned rd :1; /*%< recursion desired */
- unsigned tc :1; /*%< truncated message */
- unsigned aa :1; /*%< authoritive answer */
- unsigned opcode :4; /*%< purpose of message */
- unsigned qr :1; /*%< response flag */
- /* fields in fourth byte */
- unsigned rcode :4; /*%< response code */
- unsigned cd: 1; /*%< checking disabled by resolver */
- unsigned ad: 1; /*%< authentic data from named */
- unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */
- unsigned ra :1; /*%< recursion available */
-#endif
- /* remaining bytes */
- unsigned qdcount :16; /*%< number of question entries */
- unsigned ancount :16; /*%< number of answer entries */
- unsigned nscount :16; /*%< number of authority entries */
- unsigned arcount :16; /*%< number of resource entries */
-} HEADER;
-
-#define PACKETSZ NS_PACKETSZ
-#define MAXDNAME NS_MAXDNAME
-#define MAXCDNAME NS_MAXCDNAME
-#define MAXLABEL NS_MAXLABEL
-#define HFIXEDSZ NS_HFIXEDSZ
-#define QFIXEDSZ NS_QFIXEDSZ
-#define RRFIXEDSZ NS_RRFIXEDSZ
-#define INT32SZ NS_INT32SZ
-#define INT16SZ NS_INT16SZ
-#define INT8SZ NS_INT8SZ
-#define INADDRSZ NS_INADDRSZ
-#define IN6ADDRSZ NS_IN6ADDRSZ
-#define INDIR_MASK NS_CMPRSFLGS
-#define NAMESERVER_PORT NS_DEFAULTPORT
-
-#define S_ZONE ns_s_zn
-#define S_PREREQ ns_s_pr
-#define S_UPDATE ns_s_ud
-#define S_ADDT ns_s_ar
-
-#define QUERY ns_o_query
-#define IQUERY ns_o_iquery
-#define STATUS ns_o_status
-#define NS_NOTIFY_OP ns_o_notify
-#define NS_UPDATE_OP ns_o_update
-
-#define NOERROR ns_r_noerror
-#define FORMERR ns_r_formerr
-#define SERVFAIL ns_r_servfail
-#define NXDOMAIN ns_r_nxdomain
-#define NOTIMP ns_r_notimpl
-#define REFUSED ns_r_refused
-#define YXDOMAIN ns_r_yxdomain
-#define YXRRSET ns_r_yxrrset
-#define NXRRSET ns_r_nxrrset
-#define NOTAUTH ns_r_notauth
-#define NOTZONE ns_r_notzone
-/*#define BADSIG ns_r_badsig*/
-/*#define BADKEY ns_r_badkey*/
-/*#define BADTIME ns_r_badtime*/
-
-
-#define DELETE ns_uop_delete
-#define ADD ns_uop_add
-
-#define T_A ns_t_a
-#define T_NS ns_t_ns
-#define T_MD ns_t_md
-#define T_MF ns_t_mf
-#define T_CNAME ns_t_cname
-#define T_SOA ns_t_soa
-#define T_MB ns_t_mb
-#define T_MG ns_t_mg
-#define T_MR ns_t_mr
-#define T_NULL ns_t_null
-#define T_WKS ns_t_wks
-#define T_PTR ns_t_ptr
-#define T_HINFO ns_t_hinfo
-#define T_MINFO ns_t_minfo
-#define T_MX ns_t_mx
-#define T_TXT ns_t_txt
-#define T_RP ns_t_rp
-#define T_AFSDB ns_t_afsdb
-#define T_X25 ns_t_x25
-#define T_ISDN ns_t_isdn
-#define T_RT ns_t_rt
-#define T_NSAP ns_t_nsap
-#define T_NSAP_PTR ns_t_nsap_ptr
-#define T_SIG ns_t_sig
-#define T_KEY ns_t_key
-#define T_PX ns_t_px
-#define T_GPOS ns_t_gpos
-#define T_AAAA ns_t_aaaa
-#define T_LOC ns_t_loc
-#define T_NXT ns_t_nxt
-#define T_EID ns_t_eid
-#define T_NIMLOC ns_t_nimloc
-#define T_SRV ns_t_srv
-#define T_ATMA ns_t_atma
-#define T_NAPTR ns_t_naptr
-#define T_A6 ns_t_a6
-#define T_DNAME ns_t_dname
-#define T_TSIG ns_t_tsig
-#define T_IXFR ns_t_ixfr
-#define T_AXFR ns_t_axfr
-#define T_MAILB ns_t_mailb
-#define T_MAILA ns_t_maila
-#define T_ANY ns_t_any
-
-#define C_IN ns_c_in
-#define C_CHAOS ns_c_chaos
-#define C_HS ns_c_hs
-/* BIND_UPDATE */
-#define C_NONE ns_c_none
-#define C_ANY ns_c_any
-
-#define GETSHORT NS_GET16
-#define GETLONG NS_GET32
-#define PUTSHORT NS_PUT16
-#define PUTLONG NS_PUT32
-
-#endif /* _ARPA_NAMESER_COMPAT_ */
-/*! \file */
diff --git a/src/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
deleted file mode 100644
index 3774c89..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/telnet.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)telnet.h 8.2 (Berkeley) 12/15/93
- */
-
-#ifndef _ARPA_TELNET_H
-#define _ARPA_TELNET_H 1
-
-/*
- * Definitions for the TELNET protocol.
- */
-#define IAC 255 /* interpret as command: */
-#define DONT 254 /* you are not to use option */
-#define DO 253 /* please, you use option */
-#define WONT 252 /* I won't use option */
-#define WILL 251 /* I will use option */
-#define SB 250 /* interpret as subnegotiation */
-#define GA 249 /* you may reverse the line */
-#define EL 248 /* erase the current line */
-#define EC 247 /* erase the current character */
-#define AYT 246 /* are you there */
-#define AO 245 /* abort output--but let prog finish */
-#define IP 244 /* interrupt process--permanently */
-#define BREAK 243 /* break */
-#define DM 242 /* data mark--for connect. cleaning */
-#define NOP 241 /* nop */
-#define SE 240 /* end sub negotiation */
-#define EOR 239 /* end of record (transparent mode) */
-#define ABORT 238 /* Abort process */
-#define SUSP 237 /* Suspend process */
-#define xEOF 236 /* End of file: EOF is already used... */
-
-#define SYNCH 242 /* for telfunc calls */
-
-#ifdef TELCMDS
-char *telcmds[] = {
- "EOF", "SUSP", "ABORT", "EOR",
- "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC",
- "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0,
-};
-#else
-extern char *telcmds[];
-#endif
-
-#define TELCMD_FIRST xEOF
-#define TELCMD_LAST IAC
-#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \
- (unsigned int)(x) >= TELCMD_FIRST)
-#define TELCMD(x) telcmds[(x)-TELCMD_FIRST]
-
-/* telnet options */
-#define TELOPT_BINARY 0 /* 8-bit data path */
-#define TELOPT_ECHO 1 /* echo */
-#define TELOPT_RCP 2 /* prepare to reconnect */
-#define TELOPT_SGA 3 /* suppress go ahead */
-#define TELOPT_NAMS 4 /* approximate message size */
-#define TELOPT_STATUS 5 /* give status */
-#define TELOPT_TM 6 /* timing mark */
-#define TELOPT_RCTE 7 /* remote controlled transmission and echo */
-#define TELOPT_NAOL 8 /* negotiate about output line width */
-#define TELOPT_NAOP 9 /* negotiate about output page size */
-#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */
-#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */
-#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */
-#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */
-#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */
-#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */
-#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */
-#define TELOPT_XASCII 17 /* extended ascii character set */
-#define TELOPT_LOGOUT 18 /* force logout */
-#define TELOPT_BM 19 /* byte macro */
-#define TELOPT_DET 20 /* data entry terminal */
-#define TELOPT_SUPDUP 21 /* supdup protocol */
-#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */
-#define TELOPT_SNDLOC 23 /* send location */
-#define TELOPT_TTYPE 24 /* terminal type */
-#define TELOPT_EOR 25 /* end or record */
-#define TELOPT_TUID 26 /* TACACS user identification */
-#define TELOPT_OUTMRK 27 /* output marking */
-#define TELOPT_TTYLOC 28 /* terminal location number */
-#define TELOPT_3270REGIME 29 /* 3270 regime */
-#define TELOPT_X3PAD 30 /* X.3 PAD */
-#define TELOPT_NAWS 31 /* window size */
-#define TELOPT_TSPEED 32 /* terminal speed */
-#define TELOPT_LFLOW 33 /* remote flow control */
-#define TELOPT_LINEMODE 34 /* Linemode option */
-#define TELOPT_XDISPLOC 35 /* X Display Location */
-#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */
-#define TELOPT_AUTHENTICATION 37/* Authenticate */
-#define TELOPT_ENCRYPT 38 /* Encryption option */
-#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */
-#define TELOPT_EXOPL 255 /* extended-options-list */
-
-
-#define NTELOPTS (1+TELOPT_NEW_ENVIRON)
-#ifdef TELOPTS
-char *telopts[NTELOPTS+1] = {
- "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME",
- "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP",
- "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS",
- "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
- "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT",
- "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD",
- "TACACS UID", "OUTPUT MARKING", "TTYLOC",
- "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
- "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
- "ENCRYPT", "NEW-ENVIRON",
- 0,
-};
-#define TELOPT_FIRST TELOPT_BINARY
-#define TELOPT_LAST TELOPT_NEW_ENVIRON
-#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST)
-#define TELOPT(x) telopts[(x)-TELOPT_FIRST]
-#endif
-
-/* sub-option qualifiers */
-#define TELQUAL_IS 0 /* option is... */
-#define TELQUAL_SEND 1 /* send option */
-#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */
-#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */
-#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */
-
-#define LFLOW_OFF 0 /* Disable remote flow control */
-#define LFLOW_ON 1 /* Enable remote flow control */
-#define LFLOW_RESTART_ANY 2 /* Restart output on any char */
-#define LFLOW_RESTART_XON 3 /* Restart output only on XON */
-
-/*
- * LINEMODE suboptions
- */
-
-#define LM_MODE 1
-#define LM_FORWARDMASK 2
-#define LM_SLC 3
-
-#define MODE_EDIT 0x01
-#define MODE_TRAPSIG 0x02
-#define MODE_ACK 0x04
-#define MODE_SOFT_TAB 0x08
-#define MODE_LIT_ECHO 0x10
-
-#define MODE_MASK 0x1f
-
-/* Not part of protocol, but needed to simplify things... */
-#define MODE_FLOW 0x0100
-#define MODE_ECHO 0x0200
-#define MODE_INBIN 0x0400
-#define MODE_OUTBIN 0x0800
-#define MODE_FORCE 0x1000
-
-#define SLC_SYNCH 1
-#define SLC_BRK 2
-#define SLC_IP 3
-#define SLC_AO 4
-#define SLC_AYT 5
-#define SLC_EOR 6
-#define SLC_ABORT 7
-#define SLC_EOF 8
-#define SLC_SUSP 9
-#define SLC_EC 10
-#define SLC_EL 11
-#define SLC_EW 12
-#define SLC_RP 13
-#define SLC_LNEXT 14
-#define SLC_XON 15
-#define SLC_XOFF 16
-#define SLC_FORW1 17
-#define SLC_FORW2 18
-
-#define NSLC 18
-
-/*
- * For backwards compatibility, we define SLC_NAMES to be the
- * list of names if SLC_NAMES is not defined.
- */
-#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \
- "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \
- "LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0,
-#ifdef SLC_NAMES
-char *slc_names[] = {
- SLC_NAMELIST
-};
-#else
-extern char *slc_names[];
-#define SLC_NAMES SLC_NAMELIST
-#endif
-
-#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC)
-#define SLC_NAME(x) slc_names[x]
-
-#define SLC_NOSUPPORT 0
-#define SLC_CANTCHANGE 1
-#define SLC_VARIABLE 2
-#define SLC_DEFAULT 3
-#define SLC_LEVELBITS 0x03
-
-#define SLC_FUNC 0
-#define SLC_FLAGS 1
-#define SLC_VALUE 2
-
-#define SLC_ACK 0x80
-#define SLC_FLUSHIN 0x40
-#define SLC_FLUSHOUT 0x20
-
-#define OLD_ENV_VAR 1
-#define OLD_ENV_VALUE 0
-#define NEW_ENV_VAR 0
-#define NEW_ENV_VALUE 1
-#define ENV_ESC 2
-#define ENV_USERVAR 3
-
-/*
- * AUTHENTICATION suboptions
- */
-
-/*
- * Who is authenticating who ...
- */
-#define AUTH_WHO_CLIENT 0 /* Client authenticating server */
-#define AUTH_WHO_SERVER 1 /* Server authenticating client */
-#define AUTH_WHO_MASK 1
-
-/*
- * amount of authentication done
- */
-#define AUTH_HOW_ONE_WAY 0
-#define AUTH_HOW_MUTUAL 2
-#define AUTH_HOW_MASK 2
-
-#define AUTHTYPE_NULL 0
-#define AUTHTYPE_KERBEROS_V4 1
-#define AUTHTYPE_KERBEROS_V5 2
-#define AUTHTYPE_SPX 3
-#define AUTHTYPE_MINK 4
-#define AUTHTYPE_CNT 5
-
-#define AUTHTYPE_TEST 99
-
-#ifdef AUTH_NAMES
-char *authtype_names[] = {
- "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0,
-};
-#else
-extern char *authtype_names[];
-#endif
-
-#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT)
-#define AUTHTYPE_NAME(x) authtype_names[x]
-
-/*
- * ENCRYPTion suboptions
- */
-#define ENCRYPT_IS 0 /* I pick encryption type ... */
-#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */
-#define ENCRYPT_REPLY 2 /* Initial setup response */
-#define ENCRYPT_START 3 /* Am starting to send encrypted */
-#define ENCRYPT_END 4 /* Am ending encrypted */
-#define ENCRYPT_REQSTART 5 /* Request you start encrypting */
-#define ENCRYPT_REQEND 6 /* Request you send encrypting */
-#define ENCRYPT_ENC_KEYID 7
-#define ENCRYPT_DEC_KEYID 8
-#define ENCRYPT_CNT 9
-
-#define ENCTYPE_ANY 0
-#define ENCTYPE_DES_CFB64 1
-#define ENCTYPE_DES_OFB64 2
-#define ENCTYPE_CNT 3
-
-#ifdef ENCRYPT_NAMES
-char *encrypt_names[] = {
- "IS", "SUPPORT", "REPLY", "START", "END",
- "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID",
- 0,
-};
-char *enctype_names[] = {
- "ANY", "DES_CFB64", "DES_OFB64", 0,
-};
-#else
-extern char *encrypt_names[];
-extern char *enctype_names[];
-#endif
-
-
-#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT)
-#define ENCRYPT_NAME(x) encrypt_names[x]
-
-#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT)
-#define ENCTYPE_NAME(x) enctype_names[x]
-
-#endif /* arpa/telnet.h */
diff --git a/src/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
deleted file mode 100644
index 86e0b6e..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/arpa/tftp.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)tftp.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _ARPA_TFTP_H
-#define _ARPA_TFTP_H 1
-
-/*
- * Trivial File Transfer Protocol (IEN-133)
- */
-#define SEGSIZE 512 /* data segment size */
-
-/*
- * Packet types.
- */
-#define RRQ 01 /* read request */
-#define WRQ 02 /* write request */
-#define DATA 03 /* data packet */
-#define ACK 04 /* acknowledgement */
-#define ERROR 05 /* error code */
-
-struct tftphdr {
- short th_opcode; /* packet type */
- union {
- char tu_padding[3]; /* sizeof() compat */
- struct {
- union {
- unsigned short tu_block; /* block # */
- short tu_code; /* error code */
- } __attribute__ ((__packed__)) th_u3;
- char tu_data[0]; /* data or error string */
- } __attribute__ ((__packed__)) th_u2;
- char tu_stuff[0]; /* request packet stuff */
- } __attribute__ ((__packed__)) th_u1;
-} __attribute__ ((__packed__));
-
-#define th_block th_u1.th_u2.th_u3.tu_block
-#define th_code th_u1.th_u2.th_u3.tu_code
-#define th_stuff th_u1.tu_stuff
-#define th_data th_u1.th_u2.tu_data
-#define th_msg th_u1.th_u2.tu_data
-
-/*
- * Error codes.
- */
-#define EUNDEF 0 /* not defined */
-#define ENOTFOUND 1 /* file not found */
-#define EACCESS 2 /* access violation */
-#define ENOSPACE 3 /* disk full or allocation exceeded */
-#define EBADOP 4 /* illegal TFTP operation */
-#define EBADID 5 /* unknown transfer ID */
-#define EEXISTS 6 /* file already exists */
-#define ENOUSER 7 /* no such user */
-
-#endif /* arpa/tftp.h */
diff --git a/src/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
deleted file mode 100644
index b99573b..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/auxvec.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __ASM_GENERIC_AUXVEC_H
-#define __ASM_GENERIC_AUXVEC_H
-/*
- * Not all architectures need their own auxvec.h, the most
- * common definitions are already in linux/auxvec.h.
- */
-
-#endif /* __ASM_GENERIC_AUXVEC_H */
diff --git a/src/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
deleted file mode 100644
index f832c3c..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/bitsperlong.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __ASM_GENERIC_BITS_PER_LONG
-#define __ASM_GENERIC_BITS_PER_LONG
-
-/*
- * There seems to be no way of detecting this automatically from user
- * space, so 64 bit architectures should override this in their
- * bitsperlong.h. In particular, an architecture that supports
- * both 32 and 64 bit user space must not rely on CONFIG_64BIT
- * to decide it, but rather check a compiler provided macro.
- */
-#ifndef __BITS_PER_LONG
-#define __BITS_PER_LONG 32
-#endif
-
-#endif /* __ASM_GENERIC_BITS_PER_LONG */
diff --git a/src/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
deleted file mode 100644
index 6511597..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno-base.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _ASM_GENERIC_ERRNO_BASE_H
-#define _ASM_GENERIC_ERRNO_BASE_H
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Argument list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-
-#endif
diff --git a/src/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
deleted file mode 100644
index 88e0914..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/errno.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef _ASM_GENERIC_ERRNO_H
-#define _ASM_GENERIC_ERRNO_H
-
-#include
-
-#define EDEADLK 35 /* Resource deadlock would occur */
-#define ENAMETOOLONG 36 /* File name too long */
-#define ENOLCK 37 /* No record locks available */
-
-/*
- * This error code is special: arch syscall entry code will return
- * -ENOSYS if users try to call a syscall that doesn't exist. To keep
- * failures of syscalls that really do exist distinguishable from
- * failures due to attempts to use a nonexistent syscall, syscall
- * implementations should refrain from returning -ENOSYS.
- */
-#define ENOSYS 38 /* Invalid system call number */
-
-#define ENOTEMPTY 39 /* Directory not empty */
-#define ELOOP 40 /* Too many symbolic links encountered */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define ENOMSG 42 /* No message of desired type */
-#define EIDRM 43 /* Identifier removed */
-#define ECHRNG 44 /* Channel number out of range */
-#define EL2NSYNC 45 /* Level 2 not synchronized */
-#define EL3HLT 46 /* Level 3 halted */
-#define EL3RST 47 /* Level 3 reset */
-#define ELNRNG 48 /* Link number out of range */
-#define EUNATCH 49 /* Protocol driver not attached */
-#define ENOCSI 50 /* No CSI structure available */
-#define EL2HLT 51 /* Level 2 halted */
-#define EBADE 52 /* Invalid exchange */
-#define EBADR 53 /* Invalid request descriptor */
-#define EXFULL 54 /* Exchange full */
-#define ENOANO 55 /* No anode */
-#define EBADRQC 56 /* Invalid request code */
-#define EBADSLT 57 /* Invalid slot */
-
-#define EDEADLOCK EDEADLK
-
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EMULTIHOP 72 /* Multihop attempted */
-#define EDOTDOT 73 /* RFS specific error */
-#define EBADMSG 74 /* Not a data message */
-#define EOVERFLOW 75 /* Value too large for defined data type */
-#define ENOTUNIQ 76 /* Name not unique on network */
-#define EBADFD 77 /* File descriptor in bad state */
-#define EREMCHG 78 /* Remote address changed */
-#define ELIBACC 79 /* Can not access a needed shared library */
-#define ELIBBAD 80 /* Accessing a corrupted shared library */
-#define ELIBSCN 81 /* .lib section in a.out corrupted */
-#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 83 /* Cannot exec a shared library directly */
-#define EILSEQ 84 /* Illegal byte sequence */
-#define ERESTART 85 /* Interrupted system call should be restarted */
-#define ESTRPIPE 86 /* Streams pipe error */
-#define EUSERS 87 /* Too many users */
-#define ENOTSOCK 88 /* Socket operation on non-socket */
-#define EDESTADDRREQ 89 /* Destination address required */
-#define EMSGSIZE 90 /* Message too long */
-#define EPROTOTYPE 91 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 92 /* Protocol not available */
-#define EPROTONOSUPPORT 93 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
-#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 96 /* Protocol family not supported */
-#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
-#define EADDRINUSE 98 /* Address already in use */
-#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
-#define ENETDOWN 100 /* Network is down */
-#define ENETUNREACH 101 /* Network is unreachable */
-#define ENETRESET 102 /* Network dropped connection because of reset */
-#define ECONNABORTED 103 /* Software caused connection abort */
-#define ECONNRESET 104 /* Connection reset by peer */
-#define ENOBUFS 105 /* No buffer space available */
-#define EISCONN 106 /* Transport endpoint is already connected */
-#define ENOTCONN 107 /* Transport endpoint is not connected */
-#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 109 /* Too many references: cannot splice */
-#define ETIMEDOUT 110 /* Connection timed out */
-#define ECONNREFUSED 111 /* Connection refused */
-#define EHOSTDOWN 112 /* Host is down */
-#define EHOSTUNREACH 113 /* No route to host */
-#define EALREADY 114 /* Operation already in progress */
-#define EINPROGRESS 115 /* Operation now in progress */
-#define ESTALE 116 /* Stale file handle */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EDQUOT 122 /* Quota exceeded */
-
-#define ENOMEDIUM 123 /* No medium found */
-#define EMEDIUMTYPE 124 /* Wrong medium type */
-#define ECANCELED 125 /* Operation Canceled */
-#define ENOKEY 126 /* Required key not available */
-#define EKEYEXPIRED 127 /* Key has expired */
-#define EKEYREVOKED 128 /* Key has been revoked */
-#define EKEYREJECTED 129 /* Key was rejected by service */
-
-/* for robust mutexes */
-#define EOWNERDEAD 130 /* Owner died */
-#define ENOTRECOVERABLE 131 /* State not recoverable */
-
-#define ERFKILL 132 /* Operation not possible due to RF-kill */
-
-#define EHWPOISON 133 /* Memory page has hardware error */
-
-#endif
diff --git a/src/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
deleted file mode 100644
index e063eff..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/fcntl.h
+++ /dev/null
@@ -1,220 +0,0 @@
-#ifndef _ASM_GENERIC_FCNTL_H
-#define _ASM_GENERIC_FCNTL_H
-
-#include
-
-/*
- * FMODE_EXEC is 0x20
- * FMODE_NONOTIFY is 0x4000000
- * These cannot be used by userspace O_* until internal and external open
- * flags are split.
- * -Eric Paris
- */
-
-/*
- * When introducing new O_* bits, please check its uniqueness in fcntl_init().
- */
-
-#define O_ACCMODE 00000003
-#define O_RDONLY 00000000
-#define O_WRONLY 00000001
-#define O_RDWR 00000002
-#ifndef O_CREAT
-#define O_CREAT 00000100 /* not fcntl */
-#endif
-#ifndef O_EXCL
-#define O_EXCL 00000200 /* not fcntl */
-#endif
-#ifndef O_NOCTTY
-#define O_NOCTTY 00000400 /* not fcntl */
-#endif
-#ifndef O_TRUNC
-#define O_TRUNC 00001000 /* not fcntl */
-#endif
-#ifndef O_APPEND
-#define O_APPEND 00002000
-#endif
-#ifndef O_NONBLOCK
-#define O_NONBLOCK 00004000
-#endif
-#ifndef O_DSYNC
-#define O_DSYNC 00010000 /* used to be O_SYNC, see below */
-#endif
-#ifndef FASYNC
-#define FASYNC 00020000 /* fcntl, for BSD compatibility */
-#endif
-#ifndef O_DIRECT
-#define O_DIRECT 00040000 /* direct disk access hint */
-#endif
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 00100000
-#endif
-#ifndef O_DIRECTORY
-#define O_DIRECTORY 00200000 /* must be a directory */
-#endif
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 00400000 /* don't follow links */
-#endif
-#ifndef O_NOATIME
-#define O_NOATIME 01000000
-#endif
-#ifndef O_CLOEXEC
-#define O_CLOEXEC 02000000 /* set close_on_exec */
-#endif
-
-/*
- * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
- * the O_SYNC flag. We continue to use the existing numerical value
- * for O_DSYNC semantics now, but using the correct symbolic name for it.
- * This new value is used to request true Posix O_SYNC semantics. It is
- * defined in this strange way to make sure applications compiled against
- * new headers get at least O_DSYNC semantics on older kernels.
- *
- * This has the nice side-effect that we can simply test for O_DSYNC
- * wherever we do not care if O_DSYNC or O_SYNC is used.
- *
- * Note: __O_SYNC must never be used directly.
- */
-#ifndef O_SYNC
-#define __O_SYNC 04000000
-#define O_SYNC (__O_SYNC|O_DSYNC)
-#endif
-
-#ifndef O_PATH
-#define O_PATH 010000000
-#endif
-
-#ifndef __O_TMPFILE
-#define __O_TMPFILE 020000000
-#endif
-
-/* a horrid kludge trying to make sure that this will fail on old kernels */
-#define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
-#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
-
-#ifndef O_NDELAY
-#define O_NDELAY O_NONBLOCK
-#endif
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#ifndef F_GETLK
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-#endif
-#ifndef F_SETOWN
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#endif
-#ifndef F_SETSIG
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-#endif
-
-#ifndef CONFIG_64BIT
-#ifndef F_GETLK64
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-#endif
-#endif
-
-#ifndef F_SETOWN_EX
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-#endif
-
-#ifndef F_GETOWNER_UIDS
-#define F_GETOWNER_UIDS 17
-#endif
-
-/*
- * Open File Description Locks
- *
- * Usually record locks held by a process are released on *any* close and are
- * not inherited across a fork().
- *
- * These cmd values will set locks that conflict with process-associated
- * record locks, but are "owned" by the open file description, not the
- * process. This means that they are inherited across fork() like BSD (flock)
- * locks, and they are only released automatically when the last reference to
- * the the open file against which they were acquired is put.
- */
-#define F_OFD_GETLK 36
-#define F_OFD_SETLK 37
-#define F_OFD_SETLKW 38
-
-#define F_OWNER_TID 0
-#define F_OWNER_PID 1
-#define F_OWNER_PGRP 2
-
-struct f_owner_ex {
- int type;
- __kernel_pid_t pid;
-};
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#ifndef F_RDLCK
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-#endif
-
-/* for old implementation of bsd flock () */
-#ifndef F_EXLCK
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-#endif
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock ... */
-#define LOCK_READ 64 /* which allows concurrent read operations */
-#define LOCK_WRITE 128 /* which allows concurrent write operations */
-#define LOCK_RW 192 /* which allows concurrent read & write ops */
-
-#define F_LINUX_SPECIFIC_BASE 1024
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK
-#ifndef __ARCH_FLOCK_PAD
-#define __ARCH_FLOCK_PAD
-#endif
-
-struct flock {
- short l_type;
- short l_whence;
- __kernel_off_t l_start;
- __kernel_off_t l_len;
- __kernel_pid_t l_pid;
- __ARCH_FLOCK_PAD
-};
-#endif
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK64
-#ifndef __ARCH_FLOCK64_PAD
-#define __ARCH_FLOCK64_PAD
-#endif
-
-struct flock64 {
- short l_type;
- short l_whence;
- __kernel_loff_t l_start;
- __kernel_loff_t l_len;
- __kernel_pid_t l_pid;
- __ARCH_FLOCK64_PAD
-};
-#endif
-
-#endif /* _ASM_GENERIC_FCNTL_H */
diff --git a/src/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
deleted file mode 100644
index e271ae2..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-l64.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * asm-generic/int-l64.h
- *
- * Integer declarations for architectures which use "long"
- * for 64-bit types.
- */
-
-#ifndef _ASM_GENERIC_INT_L64_H
-#define _ASM_GENERIC_INT_L64_H
-
-#include
-
-#ifndef __ASSEMBLY__
-/*
- * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
- * header files exported to user space
- */
-
-typedef __signed__ char __s8;
-typedef unsigned char __u8;
-
-typedef __signed__ short __s16;
-typedef unsigned short __u16;
-
-typedef __signed__ int __s32;
-typedef unsigned int __u32;
-
-typedef __signed__ long __s64;
-typedef unsigned long __u64;
-
-#endif /* __ASSEMBLY__ */
-
-
-#endif /* _ASM_GENERIC_INT_L64_H */
diff --git a/src/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
deleted file mode 100644
index 0ede047..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/int-ll64.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * asm-generic/int-ll64.h
- *
- * Integer declarations for architectures which use "long long"
- * for 64-bit types.
- */
-
-#ifndef _ASM_GENERIC_INT_LL64_H
-#define _ASM_GENERIC_INT_LL64_H
-
-#include
-
-#ifndef __ASSEMBLY__
-/*
- * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
- * header files exported to user space
- */
-
-typedef __signed__ char __s8;
-typedef unsigned char __u8;
-
-typedef __signed__ short __s16;
-typedef unsigned short __u16;
-
-typedef __signed__ int __s32;
-typedef unsigned int __u32;
-
-#ifdef __GNUC__
-__extension__ typedef __signed__ long long __s64;
-__extension__ typedef unsigned long long __u64;
-#else
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
-#endif
-
-#endif /* __ASSEMBLY__ */
-
-
-#endif /* _ASM_GENERIC_INT_LL64_H */
diff --git a/src/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
deleted file mode 100644
index 0da2c7d..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctl.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _ASM_GENERIC_IOCTL_H
-#define _ASM_GENERIC_IOCTL_H
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The generic ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-
-/*
- * Let any architecture override either of the following before
- * including this file.
- */
-
-#ifndef _IOC_SIZEBITS
-# define _IOC_SIZEBITS 14
-#endif
-
-#ifndef _IOC_DIRBITS
-# define _IOC_DIRBITS 2
-#endif
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits, which any architecture can choose to override
- * before including this file.
- */
-
-#ifndef _IOC_NONE
-# define _IOC_NONE 0U
-#endif
-
-#ifndef _IOC_WRITE
-# define _IOC_WRITE 1U
-#endif
-
-#ifndef _IOC_READ
-# define _IOC_READ 2U
-#endif
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-#define _IOC_TYPECHECK(t) (sizeof(t))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#endif /* _ASM_GENERIC_IOCTL_H */
diff --git a/src/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
deleted file mode 100644
index 467cdba..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ioctls.h
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef __ASM_GENERIC_IOCTLS_H
-#define __ASM_GENERIC_IOCTLS_H
-
-#include
-
-/*
- * These are the most common definitions for tty ioctl numbers.
- * Most of them do not use the recommended _IOC(), but there is
- * probably some source code out there hardcoding the number,
- * so we might as well use them for all new platforms.
- *
- * The architectures that use different values here typically
- * try to be compatible with some Unix variants for the same
- * architecture.
- */
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TCGETS2 _IOR('T', 0x2A, struct termios2)
-#define TCSETS2 _IOW('T', 0x2B, struct termios2)
-#define TCSETSW2 _IOW('T', 0x2C, struct termios2)
-#define TCSETSF2 _IOW('T', 0x2D, struct termios2)
-#define TIOCGRS485 0x542E
-#ifndef TIOCSRS485
-#define TIOCSRS485 0x542F
-#endif
-#define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */
-#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */
-#define TCGETX 0x5432 /* SYS5 TCGETX compatibility */
-#define TCSETX 0x5433
-#define TCSETXF 0x5434
-#define TCSETXW 0x5435
-#define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */
-#define TIOCVHANGUP 0x5437
-#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
-#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
-#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
-
-#define FIONCLEX 0x5450
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */
-
-/*
- * Some arches already define FIOQSIZE due to a historical
- * conflict with a Hayes modem-specific ioctl value.
- */
-#ifndef FIOQSIZE
-# define FIOQSIZE 0x5460
-#endif
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-#define TIOCPKT_IOCTL 64
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-#endif /* __ASM_GENERIC_IOCTLS_H */
diff --git a/src/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
deleted file mode 100644
index 3dbcc1e..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ipcbuf.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __ASM_GENERIC_IPCBUF_H
-#define __ASM_GENERIC_IPCBUF_H
-
-/*
- * The generic ipc64_perm structure:
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * ipc64_perm was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * Pad space is left for:
- * - 32-bit mode_t on architectures that only had 16 bit
- * - 32-bit seq
- * - 2 miscellaneous 32-bit values
- */
-
-struct ipc64_perm {
- __kernel_key_t key;
- __kernel_uid32_t uid;
- __kernel_gid32_t gid;
- __kernel_uid32_t cuid;
- __kernel_gid32_t cgid;
- __kernel_mode_t mode;
- /* pad if mode_t is u16: */
- unsigned char __pad1[4 - sizeof(__kernel_mode_t)];
- unsigned short seq;
- unsigned short __pad2;
- __kernel_ulong_t __unused1;
- __kernel_ulong_t __unused2;
-};
-
-#endif /* __ASM_GENERIC_IPCBUF_H */
diff --git a/src/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
deleted file mode 100644
index 486f0af..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/kvm_para.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * There isn't anything here, but the file must not be empty or patch
- * will delete it.
- */
diff --git a/src/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
deleted file mode 100644
index a74dd84..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman-common.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef __ASM_GENERIC_MMAN_COMMON_H
-#define __ASM_GENERIC_MMAN_COMMON_H
-
-/*
- Author: Michael S. Tsirkin , Mellanox Technologies Ltd.
- Based on: asm-xxx/mman.h
-*/
-
-#define PROT_READ 0x1 /* page can be read */
-#define PROT_WRITE 0x2 /* page can be written */
-#define PROT_EXEC 0x4 /* page can be executed */
-#define PROT_SEM 0x8 /* page may be used for atomic ops */
-#define PROT_NONE 0x0 /* page can not be accessed */
-#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
-#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
-
-#define MAP_SHARED 0x01 /* Share changes */
-#define MAP_PRIVATE 0x02 /* Changes are private */
-#define MAP_TYPE 0x0f /* Mask for type of mapping */
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
-# define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be uninitialized */
-#else
-# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
-#endif
-
-/*
- * Flags for mlock
- */
-#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */
-
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-
-#define MADV_NORMAL 0 /* no further special treatment */
-#define MADV_RANDOM 1 /* expect random page references */
-#define MADV_SEQUENTIAL 2 /* expect sequential page references */
-#define MADV_WILLNEED 3 /* will need these pages */
-#define MADV_DONTNEED 4 /* don't need these pages */
-
-/* common parameters: try to keep these consistent across architectures */
-#define MADV_REMOVE 9 /* remove these pages & resources */
-#define MADV_DONTFORK 10 /* don't inherit across fork */
-#define MADV_DOFORK 11 /* do inherit across fork */
-#define MADV_HWPOISON 100 /* poison a page for testing */
-#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */
-
-#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
-#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
-
-#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
-#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
-
-#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
- overrides the coredump filter bits */
-#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */
-
-/* compatibility flags */
-#define MAP_FILE 0
-
-/*
- * When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size.
- * This gives us 6 bits, which is enough until someone invents 128 bit address
- * spaces.
- *
- * Assume these are all power of twos.
- * When 0 use the default page size.
- */
-#define MAP_HUGE_SHIFT 26
-#define MAP_HUGE_MASK 0x3f
-
-#endif /* __ASM_GENERIC_MMAN_COMMON_H */
diff --git a/src/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
deleted file mode 100644
index 7162cd4..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/mman.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __ASM_GENERIC_MMAN_H
-#define __ASM_GENERIC_MMAN_H
-
-#include
-
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
-
-/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
-
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MCL_ONFAULT 4 /* lock all pages that are faulted in */
-
-#endif /* __ASM_GENERIC_MMAN_H */
diff --git a/src/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
deleted file mode 100644
index f55ecc4..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/msgbuf.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __ASM_GENERIC_MSGBUF_H
-#define __ASM_GENERIC_MSGBUF_H
-
-#include
-/*
- * generic msqid64_ds structure.
- *
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * msqid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first three padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct msqid64_ds {
- struct ipc64_perm msg_perm;
- __kernel_time_t msg_stime; /* last msgsnd time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t msg_rtime; /* last msgrcv time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- __kernel_time_t msg_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused3;
-#endif
- __kernel_ulong_t msg_cbytes; /* current number of bytes on queue */
- __kernel_ulong_t msg_qnum; /* number of messages in queue */
- __kernel_ulong_t msg_qbytes; /* max number of bytes on queue */
- __kernel_pid_t msg_lspid; /* pid of last msgsnd */
- __kernel_pid_t msg_lrpid; /* last receive pid */
- __kernel_ulong_t __unused4;
- __kernel_ulong_t __unused5;
-};
-
-#endif /* __ASM_GENERIC_MSGBUF_H */
diff --git a/src/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
deleted file mode 100644
index bd69ff3..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/param.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __ASM_GENERIC_PARAM_H
-#define __ASM_GENERIC_PARAM_H
-
-#ifndef HZ
-#define HZ 100
-#endif
-
-#ifndef EXEC_PAGESIZE
-#define EXEC_PAGESIZE 4096
-#endif
-
-#ifndef NOGROUP
-#define NOGROUP (-1)
-#endif
-
-#define MAXHOSTNAMELEN 64 /* max length of hostname */
-
-
-#endif /* __ASM_GENERIC_PARAM_H */
diff --git a/src/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
deleted file mode 100644
index a969498..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/poll.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __ASM_GENERIC_POLL_H
-#define __ASM_GENERIC_POLL_H
-
-/* These are specified by iBCS2 */
-#define POLLIN 0x0001
-#define POLLPRI 0x0002
-#define POLLOUT 0x0004
-#define POLLERR 0x0008
-#define POLLHUP 0x0010
-#define POLLNVAL 0x0020
-
-/* The rest seem to be more-or-less nonstandard. Check them! */
-#define POLLRDNORM 0x0040
-#define POLLRDBAND 0x0080
-#ifndef POLLWRNORM
-#define POLLWRNORM 0x0100
-#endif
-#ifndef POLLWRBAND
-#define POLLWRBAND 0x0200
-#endif
-#ifndef POLLMSG
-#define POLLMSG 0x0400
-#endif
-#ifndef POLLREMOVE
-#define POLLREMOVE 0x1000
-#endif
-#ifndef POLLRDHUP
-#define POLLRDHUP 0x2000
-#endif
-
-#define POLLFREE 0x4000 /* currently only for epoll */
-
-#define POLL_BUSY_LOOP 0x8000
-
-struct pollfd {
- int fd;
- short events;
- short revents;
-};
-
-#endif /* __ASM_GENERIC_POLL_H */
diff --git a/src/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
deleted file mode 100644
index fe74fcc..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/posix_types.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef __ASM_GENERIC_POSIX_TYPES_H
-#define __ASM_GENERIC_POSIX_TYPES_H
-
-#include
-/*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc.
- *
- * First the types that are often defined in different ways across
- * architectures, so that you can override them.
- */
-
-#ifndef __kernel_long_t
-typedef long __kernel_long_t;
-typedef unsigned long __kernel_ulong_t;
-#endif
-
-#ifndef __kernel_ino_t
-typedef __kernel_ulong_t __kernel_ino_t;
-#endif
-
-#ifndef __kernel_mode_t
-typedef unsigned int __kernel_mode_t;
-#endif
-
-#ifndef __kernel_pid_t
-typedef int __kernel_pid_t;
-#endif
-
-#ifndef __kernel_ipc_pid_t
-typedef int __kernel_ipc_pid_t;
-#endif
-
-#ifndef __kernel_uid_t
-typedef unsigned int __kernel_uid_t;
-typedef unsigned int __kernel_gid_t;
-#endif
-
-#ifndef __kernel_suseconds_t
-typedef __kernel_long_t __kernel_suseconds_t;
-#endif
-
-#ifndef __kernel_daddr_t
-typedef int __kernel_daddr_t;
-#endif
-
-#ifndef __kernel_uid32_t
-typedef unsigned int __kernel_uid32_t;
-typedef unsigned int __kernel_gid32_t;
-#endif
-
-#ifndef __kernel_old_uid_t
-typedef __kernel_uid_t __kernel_old_uid_t;
-typedef __kernel_gid_t __kernel_old_gid_t;
-#endif
-
-#ifndef __kernel_old_dev_t
-typedef unsigned int __kernel_old_dev_t;
-#endif
-
-/*
- * Most 32 bit architectures use "unsigned int" size_t,
- * and all 64 bit architectures use "unsigned long" size_t.
- */
-#ifndef __kernel_size_t
-#if __BITS_PER_LONG != 64
-typedef unsigned int __kernel_size_t;
-typedef int __kernel_ssize_t;
-typedef int __kernel_ptrdiff_t;
-#else
-typedef __kernel_ulong_t __kernel_size_t;
-typedef __kernel_long_t __kernel_ssize_t;
-typedef __kernel_long_t __kernel_ptrdiff_t;
-#endif
-#endif
-
-#ifndef __kernel_fsid_t
-typedef struct {
- int val[2];
-} __kernel_fsid_t;
-#endif
-
-/*
- * anything below here should be completely generic
- */
-typedef __kernel_long_t __kernel_off_t;
-typedef long long __kernel_loff_t;
-typedef __kernel_long_t __kernel_time_t;
-typedef __kernel_long_t __kernel_clock_t;
-typedef int __kernel_timer_t;
-typedef int __kernel_clockid_t;
-typedef char * __kernel_caddr_t;
-typedef unsigned short __kernel_uid16_t;
-typedef unsigned short __kernel_gid16_t;
-
-#endif /* __ASM_GENERIC_POSIX_TYPES_H */
diff --git a/src/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
deleted file mode 100644
index 498fd28..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/resource.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _ASM_GENERIC_RESOURCE_H
-#define _ASM_GENERIC_RESOURCE_H
-
-/*
- * Resource limit IDs
- *
- * ( Compatibility detail: there are architectures that have
- * a different rlimit ID order in the 5-9 range and want
- * to keep that order for binary compatibility. The reasons
- * are historic and all new rlimits are identical across all
- * arches. If an arch has such special order for some rlimits
- * then it defines them prior including asm-generic/resource.h. )
- */
-
-#define RLIMIT_CPU 0 /* CPU time in sec */
-#define RLIMIT_FSIZE 1 /* Maximum filesize */
-#define RLIMIT_DATA 2 /* max data size */
-#define RLIMIT_STACK 3 /* max stack size */
-#define RLIMIT_CORE 4 /* max core file size */
-
-#ifndef RLIMIT_RSS
-# define RLIMIT_RSS 5 /* max resident set size */
-#endif
-
-#ifndef RLIMIT_NPROC
-# define RLIMIT_NPROC 6 /* max number of processes */
-#endif
-
-#ifndef RLIMIT_NOFILE
-# define RLIMIT_NOFILE 7 /* max number of open files */
-#endif
-
-#ifndef RLIMIT_MEMLOCK
-# define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
-#endif
-
-#ifndef RLIMIT_AS
-# define RLIMIT_AS 9 /* address space limit */
-#endif
-
-#define RLIMIT_LOCKS 10 /* maximum file locks held */
-#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
-#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIMIT_NICE 13 /* max nice prio allowed to raise to
- 0-39 for nice level 19 .. -20 */
-#define RLIMIT_RTPRIO 14 /* maximum realtime priority */
-#define RLIMIT_RTTIME 15 /* timeout for RT tasks in us */
-#define RLIM_NLIMITS 16
-
-/*
- * SuS says limits have to be unsigned.
- * Which makes a ton more sense anyway.
- *
- * Some architectures override this (for compatibility reasons):
- */
-#ifndef RLIM_INFINITY
-# define RLIM_INFINITY (~0UL)
-#endif
-
-
-#endif /* _ASM_GENERIC_RESOURCE_H */
diff --git a/src/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
deleted file mode 100644
index 4cb2c13..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sembuf.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __ASM_GENERIC_SEMBUF_H
-#define __ASM_GENERIC_SEMBUF_H
-
-#include
-
-/*
- * The semid64_ds structure for x86 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * semid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first two padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
- __kernel_time_t sem_otime; /* last semop time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t sem_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-
-#endif /* __ASM_GENERIC_SEMBUF_H */
diff --git a/src/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
deleted file mode 100644
index 6fc26a5..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/setup.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_GENERIC_SETUP_H
-#define __ASM_GENERIC_SETUP_H
-
-#define COMMAND_LINE_SIZE 512
-
-#endif /* __ASM_GENERIC_SETUP_H */
diff --git a/src/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
deleted file mode 100644
index 7e9fb2f..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmbuf.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __ASM_GENERIC_SHMBUF_H
-#define __ASM_GENERIC_SHMBUF_H
-
-#include
-
-/*
- * The shmid64_ds structure for x86 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * shmid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first two padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct shmid64_ds {
- struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
- __kernel_time_t shm_atime; /* last attach time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t shm_dtime; /* last detach time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- __kernel_time_t shm_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused3;
-#endif
- __kernel_pid_t shm_cpid; /* pid of creator */
- __kernel_pid_t shm_lpid; /* pid of last operator */
- __kernel_ulong_t shm_nattch; /* no. of current attaches */
- __kernel_ulong_t __unused4;
- __kernel_ulong_t __unused5;
-};
-
-struct shminfo64 {
- __kernel_ulong_t shmmax;
- __kernel_ulong_t shmmin;
- __kernel_ulong_t shmmni;
- __kernel_ulong_t shmseg;
- __kernel_ulong_t shmall;
- __kernel_ulong_t __unused1;
- __kernel_ulong_t __unused2;
- __kernel_ulong_t __unused3;
- __kernel_ulong_t __unused4;
-};
-
-#endif /* __ASM_GENERIC_SHMBUF_H */
diff --git a/src/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
deleted file mode 100644
index 51a3852..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/shmparam.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_GENERIC_SHMPARAM_H
-#define __ASM_GENERIC_SHMPARAM_H
-
-#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
-
-#endif /* _ASM_GENERIC_SHMPARAM_H */
diff --git a/src/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
deleted file mode 100644
index ac972ad..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/siginfo.h
+++ /dev/null
@@ -1,303 +0,0 @@
-#ifndef _ASM_GENERIC_SIGINFO_H
-#define _ASM_GENERIC_SIGINFO_H
-
-
-#include
-
-typedef union sigval {
- int sival_int;
- void *sival_ptr;
-} sigval_t;
-
-/*
- * This is the size (including padding) of the part of the
- * struct siginfo that is before the union.
- */
-#ifndef __ARCH_SI_PREAMBLE_SIZE
-#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
-#endif
-
-#define SI_MAX_SIZE 128
-#ifndef SI_PAD_SIZE
-#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
-#endif
-
-#ifndef __ARCH_SI_UID_T
-#define __ARCH_SI_UID_T __kernel_uid32_t
-#endif
-
-/*
- * The default "si_band" type is "long", as specified by POSIX.
- * However, some architectures want to override this to "int"
- * for historical compatibility reasons, so we allow that.
- */
-#ifndef __ARCH_SI_BAND_T
-#define __ARCH_SI_BAND_T long
-#endif
-
-#ifndef __ARCH_SI_CLOCK_T
-#define __ARCH_SI_CLOCK_T __kernel_clock_t
-#endif
-
-#ifndef __ARCH_SI_ATTRIBUTES
-#define __ARCH_SI_ATTRIBUTES
-#endif
-
-#ifndef HAVE_ARCH_SIGINFO_T
-
-typedef struct siginfo {
- int si_signo;
- int si_errno;
- int si_code;
-
- union {
- int _pad[SI_PAD_SIZE];
-
- /* kill() */
- struct {
- __kernel_pid_t _pid; /* sender's pid */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- } _kill;
-
- /* POSIX.1b timers */
- struct {
- __kernel_timer_t _tid; /* timer id */
- int _overrun; /* overrun count */
- char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
- sigval_t _sigval; /* same as below */
- int _sys_private; /* not to be passed to user */
- } _timer;
-
- /* POSIX.1b signals */
- struct {
- __kernel_pid_t _pid; /* sender's pid */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- sigval_t _sigval;
- } _rt;
-
- /* SIGCHLD */
- struct {
- __kernel_pid_t _pid; /* which child */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- int _status; /* exit code */
- __ARCH_SI_CLOCK_T _utime;
- __ARCH_SI_CLOCK_T _stime;
- } _sigchld;
-
- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
- struct {
- void *_addr; /* faulting insn/memory ref. */
-#ifdef __ARCH_SI_TRAPNO
- int _trapno; /* TRAP # which caused the signal */
-#endif
- short _addr_lsb; /* LSB of the reported address */
- struct {
- void *_lower;
- void *_upper;
- } _addr_bnd;
- } _sigfault;
-
- /* SIGPOLL */
- struct {
- __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
- int _fd;
- } _sigpoll;
-
- /* SIGSYS */
- struct {
- void *_call_addr; /* calling user insn */
- int _syscall; /* triggering system call number */
- unsigned int _arch; /* AUDIT_ARCH_* of syscall */
- } _sigsys;
- } _sifields;
-} __ARCH_SI_ATTRIBUTES siginfo_t;
-
-/* If the arch shares siginfo, then it has SIGSYS. */
-#define __ARCH_SIGSYS
-#endif
-
-/*
- * How these fields are to be accessed.
- */
-#define si_pid _sifields._kill._pid
-#define si_uid _sifields._kill._uid
-#define si_tid _sifields._timer._tid
-#define si_overrun _sifields._timer._overrun
-#define si_sys_private _sifields._timer._sys_private
-#define si_status _sifields._sigchld._status
-#define si_utime _sifields._sigchld._utime
-#define si_stime _sifields._sigchld._stime
-#define si_value _sifields._rt._sigval
-#define si_int _sifields._rt._sigval.sival_int
-#define si_ptr _sifields._rt._sigval.sival_ptr
-#define si_addr _sifields._sigfault._addr
-#ifdef __ARCH_SI_TRAPNO
-#define si_trapno _sifields._sigfault._trapno
-#endif
-#define si_addr_lsb _sifields._sigfault._addr_lsb
-#define si_lower _sifields._sigfault._addr_bnd._lower
-#define si_upper _sifields._sigfault._addr_bnd._upper
-#define si_band _sifields._sigpoll._band
-#define si_fd _sifields._sigpoll._fd
-#ifdef __ARCH_SIGSYS
-#define si_call_addr _sifields._sigsys._call_addr
-#define si_syscall _sifields._sigsys._syscall
-#define si_arch _sifields._sigsys._arch
-#endif
-
-#define __SI_KILL 0
-#define __SI_TIMER 0
-#define __SI_POLL 0
-#define __SI_FAULT 0
-#define __SI_CHLD 0
-#define __SI_RT 0
-#define __SI_MESGQ 0
-#define __SI_SYS 0
-#define __SI_CODE(T,N) (N)
-
-/*
- * si_code values
- * Digital reserves positive values for kernel-generated signals.
- */
-#define SI_USER 0 /* sent by kill, sigsend, raise */
-#define SI_KERNEL 0x80 /* sent by the kernel from somewhere */
-#define SI_QUEUE -1 /* sent by sigqueue */
-#define SI_TIMER __SI_CODE(__SI_TIMER,-2) /* sent by timer expiration */
-#define SI_MESGQ __SI_CODE(__SI_MESGQ,-3) /* sent by real time mesq state change */
-#define SI_ASYNCIO -4 /* sent by AIO completion */
-#define SI_SIGIO -5 /* sent by queued SIGIO */
-#define SI_TKILL -6 /* sent by tkill system call */
-#define SI_DETHREAD -7 /* sent by execve() killing subsidiary threads */
-
-#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
-#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
-
-/*
- * SIGILL si_codes
- */
-#define ILL_ILLOPC (__SI_FAULT|1) /* illegal opcode */
-#define ILL_ILLOPN (__SI_FAULT|2) /* illegal operand */
-#define ILL_ILLADR (__SI_FAULT|3) /* illegal addressing mode */
-#define ILL_ILLTRP (__SI_FAULT|4) /* illegal trap */
-#define ILL_PRVOPC (__SI_FAULT|5) /* privileged opcode */
-#define ILL_PRVREG (__SI_FAULT|6) /* privileged register */
-#define ILL_COPROC (__SI_FAULT|7) /* coprocessor error */
-#define ILL_BADSTK (__SI_FAULT|8) /* internal stack error */
-#define NSIGILL 8
-
-/*
- * SIGFPE si_codes
- */
-#define FPE_INTDIV (__SI_FAULT|1) /* integer divide by zero */
-#define FPE_INTOVF (__SI_FAULT|2) /* integer overflow */
-#define FPE_FLTDIV (__SI_FAULT|3) /* floating point divide by zero */
-#define FPE_FLTOVF (__SI_FAULT|4) /* floating point overflow */
-#define FPE_FLTUND (__SI_FAULT|5) /* floating point underflow */
-#define FPE_FLTRES (__SI_FAULT|6) /* floating point inexact result */
-#define FPE_FLTINV (__SI_FAULT|7) /* floating point invalid operation */
-#define FPE_FLTSUB (__SI_FAULT|8) /* subscript out of range */
-#define NSIGFPE 8
-
-/*
- * SIGSEGV si_codes
- */
-#define SEGV_MAPERR (__SI_FAULT|1) /* address not mapped to object */
-#define SEGV_ACCERR (__SI_FAULT|2) /* invalid permissions for mapped object */
-#define SEGV_BNDERR (__SI_FAULT|3) /* failed address bound checks */
-#define NSIGSEGV 3
-
-/*
- * SIGBUS si_codes
- */
-#define BUS_ADRALN (__SI_FAULT|1) /* invalid address alignment */
-#define BUS_ADRERR (__SI_FAULT|2) /* non-existent physical address */
-#define BUS_OBJERR (__SI_FAULT|3) /* object specific hardware error */
-/* hardware memory error consumed on a machine check: action required */
-#define BUS_MCEERR_AR (__SI_FAULT|4)
-/* hardware memory error detected in process but not consumed: action optional*/
-#define BUS_MCEERR_AO (__SI_FAULT|5)
-#define NSIGBUS 5
-
-/*
- * SIGTRAP si_codes
- */
-#define TRAP_BRKPT (__SI_FAULT|1) /* process breakpoint */
-#define TRAP_TRACE (__SI_FAULT|2) /* process trace trap */
-#define TRAP_BRANCH (__SI_FAULT|3) /* process taken branch trap */
-#define TRAP_HWBKPT (__SI_FAULT|4) /* hardware breakpoint/watchpoint */
-#define NSIGTRAP 4
-
-/*
- * SIGCHLD si_codes
- */
-#define CLD_EXITED (__SI_CHLD|1) /* child has exited */
-#define CLD_KILLED (__SI_CHLD|2) /* child was killed */
-#define CLD_DUMPED (__SI_CHLD|3) /* child terminated abnormally */
-#define CLD_TRAPPED (__SI_CHLD|4) /* traced child has trapped */
-#define CLD_STOPPED (__SI_CHLD|5) /* child has stopped */
-#define CLD_CONTINUED (__SI_CHLD|6) /* stopped child has continued */
-#define NSIGCHLD 6
-
-/*
- * SIGPOLL si_codes
- */
-#define POLL_IN (__SI_POLL|1) /* data input available */
-#define POLL_OUT (__SI_POLL|2) /* output buffers available */
-#define POLL_MSG (__SI_POLL|3) /* input message available */
-#define POLL_ERR (__SI_POLL|4) /* i/o error */
-#define POLL_PRI (__SI_POLL|5) /* high priority input available */
-#define POLL_HUP (__SI_POLL|6) /* device disconnected */
-#define NSIGPOLL 6
-
-/*
- * SIGSYS si_codes
- */
-#define SYS_SECCOMP (__SI_SYS|1) /* seccomp triggered */
-#define NSIGSYS 1
-
-/*
- * sigevent definitions
- *
- * It seems likely that SIGEV_THREAD will have to be handled from
- * userspace, libpthread transmuting it to SIGEV_SIGNAL, which the
- * thread manager then catches and does the appropriate nonsense.
- * However, everything is written out here so as to not get lost.
- */
-#define SIGEV_SIGNAL 0 /* notify via signal */
-#define SIGEV_NONE 1 /* other notification: meaningless */
-#define SIGEV_THREAD 2 /* deliver via thread creation */
-#define SIGEV_THREAD_ID 4 /* deliver to thread */
-
-/*
- * This works because the alignment is ok on all current architectures
- * but we leave open this being overridden in the future
- */
-#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
-#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
-#endif
-
-#define SIGEV_MAX_SIZE 64
-#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
- / sizeof(int))
-
-typedef struct sigevent {
- sigval_t sigev_value;
- int sigev_signo;
- int sigev_notify;
- union {
- int _pad[SIGEV_PAD_SIZE];
- int _tid;
-
- struct {
- void (*_function)(sigval_t);
- void *_attribute; /* really pthread_attr_t */
- } _sigev_thread;
- } _sigev_un;
-} sigevent_t;
-
-#define sigev_notify_function _sigev_un._sigev_thread._function
-#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
-#define sigev_notify_thread_id _sigev_un._tid
-
-
-#endif /* _ASM_GENERIC_SIGINFO_H */
diff --git a/src/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
deleted file mode 100644
index 04cfb6d..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal-defs.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __ASM_GENERIC_SIGNAL_DEFS_H
-#define __ASM_GENERIC_SIGNAL_DEFS_H
-
-
-
-#ifndef SIG_BLOCK
-#define SIG_BLOCK 0 /* for blocking signals */
-#endif
-#ifndef SIG_UNBLOCK
-#define SIG_UNBLOCK 1 /* for unblocking signals */
-#endif
-#ifndef SIG_SETMASK
-#define SIG_SETMASK 2 /* for setting the signal mask */
-#endif
-
-#ifndef __ASSEMBLY__
-typedef void __signalfn_t(int);
-typedef __signalfn_t *__sighandler_t;
-
-typedef void __restorefn_t(void);
-typedef __restorefn_t *__sigrestore_t;
-
-#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
-#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
-#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
-#endif
-
-#endif /* __ASM_GENERIC_SIGNAL_DEFS_H */
diff --git a/src/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
deleted file mode 100644
index 08c462c..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/signal.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef __ASM_GENERIC_SIGNAL_H
-#define __ASM_GENERIC_SIGNAL_H
-
-#include
-
-#define _NSIG 64
-#define _NSIG_BPW __BITS_PER_LONG
-#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL SIGIO
-/*
-#define SIGLOST 29
-*/
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED 31
-
-/* These should not be considered constants from userland. */
-#define SIGRTMIN 32
-#ifndef SIGRTMAX
-#define SIGRTMAX _NSIG
-#endif
-
-/*
- * SA_FLAGS values:
- *
- * SA_ONSTACK indicates that a registered stack_t will be used.
- * SA_RESTART flag to get restarting signals (which were the default long ago)
- * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
- * SA_RESETHAND clears the handler when the signal is delivered.
- * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
- * SA_NODEFER prevents the current signal from being masked in the handler.
- *
- * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
- * Unix names RESETHAND and NODEFER respectively.
- */
-#define SA_NOCLDSTOP 0x00000001
-#define SA_NOCLDWAIT 0x00000002
-#define SA_SIGINFO 0x00000004
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-
-/*
- * New architectures should not define the obsolete
- * SA_RESTORER 0x04000000
- */
-
-#if !defined MINSIGSTKSZ || !defined SIGSTKSZ
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#ifndef __ASSEMBLY__
-typedef struct {
- unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
-/* not actually used, but required for linux/syscalls.h */
-typedef unsigned long old_sigset_t;
-
-#include
-
-#ifdef SA_RESTORER
-#define __ARCH_HAS_SA_RESTORER
-#endif
-
-struct sigaction {
- __sighandler_t sa_handler;
- unsigned long sa_flags;
-#ifdef SA_RESTORER
- __sigrestore_t sa_restorer;
-#endif
- sigset_t sa_mask; /* mask last for extensibility */
-};
-
-typedef struct sigaltstack {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-} stack_t;
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_GENERIC_SIGNAL_H */
diff --git a/src/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
deleted file mode 100644
index 5c15c2a..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/socket.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef __ASM_GENERIC_SOCKET_H
-#define __ASM_GENERIC_SOCKET_H
-
-#include
-
-/* For setsockopt(2) */
-#define SOL_SOCKET 1
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_SNDBUFFORCE 32
-#define SO_RCVBUFFORCE 33
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-#define SO_REUSEPORT 15
-#ifndef SO_PASSCRED /* powerpc only differs in these */
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-#endif
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-#define SO_GET_FILTER SO_ATTACH_FILTER
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-#define SO_ACCEPTCONN 30
-
-#define SO_PEERSEC 31
-#define SO_PASSSEC 34
-#define SO_TIMESTAMPNS 35
-#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
-
-#define SO_MARK 36
-
-#define SO_TIMESTAMPING 37
-#define SCM_TIMESTAMPING SO_TIMESTAMPING
-
-#define SO_PROTOCOL 38
-#define SO_DOMAIN 39
-
-#define SO_RXQ_OVFL 40
-
-#define SO_WIFI_STATUS 41
-#define SCM_WIFI_STATUS SO_WIFI_STATUS
-#define SO_PEEK_OFF 42
-
-/* Instruct lower device to use last 4-bytes of skb data as FCS */
-#define SO_NOFCS 43
-
-#define SO_LOCK_FILTER 44
-
-#define SO_SELECT_ERR_QUEUE 45
-
-#define SO_BUSY_POLL 46
-
-#define SO_MAX_PACING_RATE 47
-
-#define SO_BPF_EXTENSIONS 48
-
-#define SO_INCOMING_CPU 49
-
-#define SO_ATTACH_BPF 50
-#define SO_DETACH_BPF SO_DETACH_FILTER
-
-#endif /* __ASM_GENERIC_SOCKET_H */
diff --git a/src/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
deleted file mode 100644
index 9a61a36..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/sockios.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __ASM_GENERIC_SOCKIOS_H
-#define __ASM_GENERIC_SOCKIOS_H
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
-#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
-
-#endif /* __ASM_GENERIC_SOCKIOS_H */
diff --git a/src/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
deleted file mode 100644
index bd8cad2..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/stat.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef __ASM_GENERIC_STAT_H
-#define __ASM_GENERIC_STAT_H
-
-/*
- * Everybody gets this wrong and has to stick with it for all
- * eternity. Hopefully, this version gets used by new architectures
- * so they don't fall into the same traps.
- *
- * stat64 is copied from powerpc64, with explicit padding added.
- * stat is the same structure layout on 64-bit, without the 'long long'
- * types.
- *
- * By convention, 64 bit architectures use the stat interface, while
- * 32 bit architectures use the stat64 interface. Note that we don't
- * provide an __old_kernel_stat here, which new architecture should
- * not have to start with.
- */
-
-#include
-
-#define STAT_HAVE_NSEC 1
-
-struct stat {
- unsigned long st_dev; /* Device. */
- unsigned long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
- unsigned long st_rdev; /* Device number, if device. */
- unsigned long __pad1;
- long st_size; /* Size of file, in bytes. */
- int st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- long st_blocks; /* Number 512-byte blocks allocated. */
- long st_atime; /* Time of last access. */
- unsigned long st_atime_nsec;
- long st_mtime; /* Time of last modification. */
- unsigned long st_mtime_nsec;
- long st_ctime; /* Time of last status change. */
- unsigned long st_ctime_nsec;
- unsigned int __unused4;
- unsigned int __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1. Only used for 32 bit. */
-#if __BITS_PER_LONG != 64 || defined(__ARCH_WANT_STAT64)
-struct stat64 {
- unsigned long long st_dev; /* Device. */
- unsigned long long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
- unsigned long long st_rdev; /* Device number, if device. */
- unsigned long long __pad1;
- long long st_size; /* Size of file, in bytes. */
- int st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- long long st_blocks; /* Number 512-byte blocks allocated. */
- int st_atime; /* Time of last access. */
- unsigned int st_atime_nsec;
- int st_mtime; /* Time of last modification. */
- unsigned int st_mtime_nsec;
- int st_ctime; /* Time of last status change. */
- unsigned int st_ctime_nsec;
- unsigned int __unused4;
- unsigned int __unused5;
-};
-#endif
-
-#endif /* __ASM_GENERIC_STAT_H */
diff --git a/src/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
deleted file mode 100644
index 6877912..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/statfs.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _GENERIC_STATFS_H
-#define _GENERIC_STATFS_H
-
-#include
-
-
-/*
- * Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'.
- * Yes, they differ in signedness as well as size.
- * Special cases can override it for themselves -- except for S390x, which
- * is just a little too special for us. And MIPS, which I'm not touching
- * with a 10' pole.
- */
-#ifndef __statfs_word
-#if __BITS_PER_LONG == 64
-#define __statfs_word __kernel_long_t
-#else
-#define __statfs_word __u32
-#endif
-#endif
-
-struct statfs {
- __statfs_word f_type;
- __statfs_word f_bsize;
- __statfs_word f_blocks;
- __statfs_word f_bfree;
- __statfs_word f_bavail;
- __statfs_word f_files;
- __statfs_word f_ffree;
- __kernel_fsid_t f_fsid;
- __statfs_word f_namelen;
- __statfs_word f_frsize;
- __statfs_word f_flags;
- __statfs_word f_spare[4];
-};
-
-/*
- * ARM needs to avoid the 32-bit padding at the end, for consistency
- * between EABI and OABI
- */
-#ifndef ARCH_PACK_STATFS64
-#define ARCH_PACK_STATFS64
-#endif
-
-struct statfs64 {
- __statfs_word f_type;
- __statfs_word f_bsize;
- __u64 f_blocks;
- __u64 f_bfree;
- __u64 f_bavail;
- __u64 f_files;
- __u64 f_ffree;
- __kernel_fsid_t f_fsid;
- __statfs_word f_namelen;
- __statfs_word f_frsize;
- __statfs_word f_flags;
- __statfs_word f_spare[4];
-} ARCH_PACK_STATFS64;
-
-/*
- * IA64 and x86_64 need to avoid the 32-bit padding at the end,
- * to be compatible with the i386 ABI
- */
-#ifndef ARCH_PACK_COMPAT_STATFS64
-#define ARCH_PACK_COMPAT_STATFS64
-#endif
-
-struct compat_statfs64 {
- __u32 f_type;
- __u32 f_bsize;
- __u64 f_blocks;
- __u64 f_bfree;
- __u64 f_bavail;
- __u64 f_files;
- __u64 f_ffree;
- __kernel_fsid_t f_fsid;
- __u32 f_namelen;
- __u32 f_frsize;
- __u32 f_flags;
- __u32 f_spare[4];
-} ARCH_PACK_COMPAT_STATFS64;
-
-#endif /* _GENERIC_STATFS_H */
diff --git a/src/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
deleted file mode 100644
index a8e9029..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/swab.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _ASM_GENERIC_SWAB_H
-#define _ASM_GENERIC_SWAB_H
-
-#include
-
-/*
- * 32 bit architectures typically (but not always) want to
- * set __SWAB_64_THRU_32__. In user space, this is only
- * valid if the compiler supports 64 bit data types.
- */
-
-#if __BITS_PER_LONG == 32
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#define __SWAB_64_THRU_32__
-#endif
-#endif
-
-#endif /* _ASM_GENERIC_SWAB_H */
diff --git a/src/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
deleted file mode 100644
index 232b478..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termbits.h
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef __ASM_GENERIC_TERMBITS_H
-#define __ASM_GENERIC_TERMBITS_H
-
-#include
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-
-struct termios2 {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-struct ktermios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0010000
-#define PENDIN 0040000
-#define IEXTEN 0100000
-#define EXTPROC 0200000
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#endif /* __ASM_GENERIC_TERMBITS_H */
diff --git a/src/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
deleted file mode 100644
index 1c1166a..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/termios.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _ASM_GENERIC_TERMIOS_H
-#define _ASM_GENERIC_TERMIOS_H
-/*
- * Most architectures have straight copies of the x86 code, with
- * varying levels of bug fixes on top. Usually it's a good idea
- * to use this generic version instead, but be careful to avoid
- * ABI changes.
- * New architectures should not provide their own version.
- */
-
-#include
-#include
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define NCC 8
-struct termio {
- unsigned short c_iflag; /* input mode flags */
- unsigned short c_oflag; /* output mode flags */
- unsigned short c_cflag; /* control mode flags */
- unsigned short c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[NCC]; /* control characters */
-};
-
-/* modem lines */
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-
-
-#endif /* _ASM_GENERIC_TERMIOS_H */
diff --git a/src/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
deleted file mode 100644
index a387792..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/types.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _ASM_GENERIC_TYPES_H
-#define _ASM_GENERIC_TYPES_H
-/*
- * int-ll64 is used everywhere now.
- */
-#include
-
-#endif /* _ASM_GENERIC_TYPES_H */
diff --git a/src/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
deleted file mode 100644
index ad77343..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/ucontext.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __ASM_GENERIC_UCONTEXT_H
-#define __ASM_GENERIC_UCONTEXT_H
-
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-
-#endif /* __ASM_GENERIC_UCONTEXT_H */
diff --git a/src/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
deleted file mode 100644
index 1324b02..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm-generic/unistd.h
+++ /dev/null
@@ -1,927 +0,0 @@
-#include
-
-/*
- * This file contains the system call numbers, based on the
- * layout of the x86-64 architecture, which embeds the
- * pointer to the syscall in the table.
- *
- * As a basic principle, no duplication of functionality
- * should be added, e.g. we don't use lseek when llseek
- * is present. New architectures should use this file
- * and implement the less feature-full calls in user space.
- */
-
-#ifndef __SYSCALL
-#define __SYSCALL(x, y)
-#endif
-
-#if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)
-#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32)
-#else
-#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64)
-#endif
-
-#ifdef __SYSCALL_COMPAT
-#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp)
-#define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp)
-#else
-#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys)
-#define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64)
-#endif
-
-#define __NR_io_setup 0
-__SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup)
-#define __NR_io_destroy 1
-__SYSCALL(__NR_io_destroy, sys_io_destroy)
-#define __NR_io_submit 2
-__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
-#define __NR_io_cancel 3
-__SYSCALL(__NR_io_cancel, sys_io_cancel)
-#define __NR_io_getevents 4
-__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
-
-/* fs/xattr.c */
-#define __NR_setxattr 5
-__SYSCALL(__NR_setxattr, sys_setxattr)
-#define __NR_lsetxattr 6
-__SYSCALL(__NR_lsetxattr, sys_lsetxattr)
-#define __NR_fsetxattr 7
-__SYSCALL(__NR_fsetxattr, sys_fsetxattr)
-#define __NR_getxattr 8
-__SYSCALL(__NR_getxattr, sys_getxattr)
-#define __NR_lgetxattr 9
-__SYSCALL(__NR_lgetxattr, sys_lgetxattr)
-#define __NR_fgetxattr 10
-__SYSCALL(__NR_fgetxattr, sys_fgetxattr)
-#define __NR_listxattr 11
-__SYSCALL(__NR_listxattr, sys_listxattr)
-#define __NR_llistxattr 12
-__SYSCALL(__NR_llistxattr, sys_llistxattr)
-#define __NR_flistxattr 13
-__SYSCALL(__NR_flistxattr, sys_flistxattr)
-#define __NR_removexattr 14
-__SYSCALL(__NR_removexattr, sys_removexattr)
-#define __NR_lremovexattr 15
-__SYSCALL(__NR_lremovexattr, sys_lremovexattr)
-#define __NR_fremovexattr 16
-__SYSCALL(__NR_fremovexattr, sys_fremovexattr)
-
-/* fs/dcache.c */
-#define __NR_getcwd 17
-__SYSCALL(__NR_getcwd, sys_getcwd)
-
-/* fs/cookies.c */
-#define __NR_lookup_dcookie 18
-__SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie)
-
-/* fs/eventfd.c */
-#define __NR_eventfd2 19
-__SYSCALL(__NR_eventfd2, sys_eventfd2)
-
-/* fs/eventpoll.c */
-#define __NR_epoll_create1 20
-__SYSCALL(__NR_epoll_create1, sys_epoll_create1)
-#define __NR_epoll_ctl 21
-__SYSCALL(__NR_epoll_ctl, sys_epoll_ctl)
-#define __NR_epoll_pwait 22
-__SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait)
-
-/* fs/fcntl.c */
-#define __NR_dup 23
-__SYSCALL(__NR_dup, sys_dup)
-#define __NR_dup3 24
-__SYSCALL(__NR_dup3, sys_dup3)
-#define __NR3264_fcntl 25
-__SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64)
-
-/* fs/inotify_user.c */
-#define __NR_inotify_init1 26
-__SYSCALL(__NR_inotify_init1, sys_inotify_init1)
-#define __NR_inotify_add_watch 27
-__SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch)
-#define __NR_inotify_rm_watch 28
-__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch)
-
-/* fs/ioctl.c */
-#define __NR_ioctl 29
-__SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl)
-
-/* fs/ioprio.c */
-#define __NR_ioprio_set 30
-__SYSCALL(__NR_ioprio_set, sys_ioprio_set)
-#define __NR_ioprio_get 31
-__SYSCALL(__NR_ioprio_get, sys_ioprio_get)
-
-/* fs/locks.c */
-#define __NR_flock 32
-__SYSCALL(__NR_flock, sys_flock)
-
-/* fs/namei.c */
-#define __NR_mknodat 33
-__SYSCALL(__NR_mknodat, sys_mknodat)
-#define __NR_mkdirat 34
-__SYSCALL(__NR_mkdirat, sys_mkdirat)
-#define __NR_unlinkat 35
-__SYSCALL(__NR_unlinkat, sys_unlinkat)
-#define __NR_symlinkat 36
-__SYSCALL(__NR_symlinkat, sys_symlinkat)
-#define __NR_linkat 37
-__SYSCALL(__NR_linkat, sys_linkat)
-#define __NR_renameat 38
-__SYSCALL(__NR_renameat, sys_renameat)
-
-/* fs/namespace.c */
-#define __NR_umount2 39
-__SYSCALL(__NR_umount2, sys_umount)
-#define __NR_mount 40
-__SC_COMP(__NR_mount, sys_mount, compat_sys_mount)
-#define __NR_pivot_root 41
-__SYSCALL(__NR_pivot_root, sys_pivot_root)
-
-/* fs/nfsctl.c */
-#define __NR_nfsservctl 42
-__SYSCALL(__NR_nfsservctl, sys_ni_syscall)
-
-/* fs/open.c */
-#define __NR3264_statfs 43
-__SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \
- compat_sys_statfs64)
-#define __NR3264_fstatfs 44
-__SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \
- compat_sys_fstatfs64)
-#define __NR3264_truncate 45
-__SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \
- compat_sys_truncate64)
-#define __NR3264_ftruncate 46
-__SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \
- compat_sys_ftruncate64)
-
-#define __NR_fallocate 47
-__SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate)
-#define __NR_faccessat 48
-__SYSCALL(__NR_faccessat, sys_faccessat)
-#define __NR_chdir 49
-__SYSCALL(__NR_chdir, sys_chdir)
-#define __NR_fchdir 50
-__SYSCALL(__NR_fchdir, sys_fchdir)
-#define __NR_chroot 51
-__SYSCALL(__NR_chroot, sys_chroot)
-#define __NR_fchmod 52
-__SYSCALL(__NR_fchmod, sys_fchmod)
-#define __NR_fchmodat 53
-__SYSCALL(__NR_fchmodat, sys_fchmodat)
-#define __NR_fchownat 54
-__SYSCALL(__NR_fchownat, sys_fchownat)
-#define __NR_fchown 55
-__SYSCALL(__NR_fchown, sys_fchown)
-#define __NR_openat 56
-__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
-#define __NR_close 57
-__SYSCALL(__NR_close, sys_close)
-#define __NR_vhangup 58
-__SYSCALL(__NR_vhangup, sys_vhangup)
-
-/* fs/pipe.c */
-#define __NR_pipe2 59
-__SYSCALL(__NR_pipe2, sys_pipe2)
-
-/* fs/quota.c */
-#define __NR_quotactl 60
-__SYSCALL(__NR_quotactl, sys_quotactl)
-
-/* fs/readdir.c */
-#define __NR_getdents64 61
-#define __ARCH_WANT_COMPAT_SYS_GETDENTS64
-__SC_COMP(__NR_getdents64, sys_getdents64, compat_sys_getdents64)
-
-/* fs/read_write.c */
-#define __NR3264_lseek 62
-__SC_3264(__NR3264_lseek, sys_llseek, sys_lseek)
-#define __NR_read 63
-__SYSCALL(__NR_read, sys_read)
-#define __NR_write 64
-__SYSCALL(__NR_write, sys_write)
-#define __NR_readv 65
-__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
-#define __NR_writev 66
-__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
-#define __NR_pread64 67
-__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
-#define __NR_pwrite64 68
-__SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64)
-#define __NR_preadv 69
-__SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv)
-#define __NR_pwritev 70
-__SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
-
-/* fs/sendfile.c */
-#define __NR3264_sendfile 71
-__SYSCALL(__NR3264_sendfile, sys_sendfile64)
-
-/* fs/select.c */
-#define __NR_pselect6 72
-__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
-#define __NR_ppoll 73
-__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
-
-/* fs/signalfd.c */
-#define __NR_signalfd4 74
-__SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4)
-
-/* fs/splice.c */
-#define __NR_vmsplice 75
-__SC_COMP(__NR_vmsplice, sys_vmsplice, compat_sys_vmsplice)
-#define __NR_splice 76
-__SYSCALL(__NR_splice, sys_splice)
-#define __NR_tee 77
-__SYSCALL(__NR_tee, sys_tee)
-
-/* fs/stat.c */
-#define __NR_readlinkat 78
-__SYSCALL(__NR_readlinkat, sys_readlinkat)
-#define __NR3264_fstatat 79
-__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
-#define __NR3264_fstat 80
-__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
-
-/* fs/sync.c */
-#define __NR_sync 81
-__SYSCALL(__NR_sync, sys_sync)
-#define __NR_fsync 82
-__SYSCALL(__NR_fsync, sys_fsync)
-#define __NR_fdatasync 83
-__SYSCALL(__NR_fdatasync, sys_fdatasync)
-#ifdef __ARCH_WANT_SYNC_FILE_RANGE2
-#define __NR_sync_file_range2 84
-__SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \
- compat_sys_sync_file_range2)
-#else
-#define __NR_sync_file_range 84
-__SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
- compat_sys_sync_file_range)
-#endif
-
-/* fs/timerfd.c */
-#define __NR_timerfd_create 85
-__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
-#define __NR_timerfd_settime 86
-__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
- compat_sys_timerfd_settime)
-#define __NR_timerfd_gettime 87
-__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
- compat_sys_timerfd_gettime)
-
-/* fs/utimes.c */
-#define __NR_utimensat 88
-__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
-
-/* kernel/acct.c */
-#define __NR_acct 89
-__SYSCALL(__NR_acct, sys_acct)
-
-/* kernel/capability.c */
-#define __NR_capget 90
-__SYSCALL(__NR_capget, sys_capget)
-#define __NR_capset 91
-__SYSCALL(__NR_capset, sys_capset)
-
-/* kernel/exec_domain.c */
-#define __NR_personality 92
-__SYSCALL(__NR_personality, sys_personality)
-
-/* kernel/exit.c */
-#define __NR_exit 93
-__SYSCALL(__NR_exit, sys_exit)
-#define __NR_exit_group 94
-__SYSCALL(__NR_exit_group, sys_exit_group)
-#define __NR_waitid 95
-__SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid)
-
-/* kernel/fork.c */
-#define __NR_set_tid_address 96
-__SYSCALL(__NR_set_tid_address, sys_set_tid_address)
-#define __NR_unshare 97
-__SYSCALL(__NR_unshare, sys_unshare)
-
-/* kernel/futex.c */
-#define __NR_futex 98
-__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
-#define __NR_set_robust_list 99
-__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
- compat_sys_set_robust_list)
-#define __NR_get_robust_list 100
-__SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
- compat_sys_get_robust_list)
-
-/* kernel/hrtimer.c */
-#define __NR_nanosleep 101
-__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
-
-/* kernel/itimer.c */
-#define __NR_getitimer 102
-__SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer)
-#define __NR_setitimer 103
-__SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer)
-
-/* kernel/kexec.c */
-#define __NR_kexec_load 104
-__SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load)
-
-/* kernel/module.c */
-#define __NR_init_module 105
-__SYSCALL(__NR_init_module, sys_init_module)
-#define __NR_delete_module 106
-__SYSCALL(__NR_delete_module, sys_delete_module)
-
-/* kernel/posix-timers.c */
-#define __NR_timer_create 107
-__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
-#define __NR_timer_gettime 108
-__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
-#define __NR_timer_getoverrun 109
-__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
-#define __NR_timer_settime 110
-__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
-#define __NR_timer_delete 111
-__SYSCALL(__NR_timer_delete, sys_timer_delete)
-#define __NR_clock_settime 112
-__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
-#define __NR_clock_gettime 113
-__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
-#define __NR_clock_getres 114
-__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
-#define __NR_clock_nanosleep 115
-__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
- compat_sys_clock_nanosleep)
-
-/* kernel/printk.c */
-#define __NR_syslog 116
-__SYSCALL(__NR_syslog, sys_syslog)
-
-/* kernel/ptrace.c */
-#define __NR_ptrace 117
-__SYSCALL(__NR_ptrace, sys_ptrace)
-
-/* kernel/sched/core.c */
-#define __NR_sched_setparam 118
-__SYSCALL(__NR_sched_setparam, sys_sched_setparam)
-#define __NR_sched_setscheduler 119
-__SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler)
-#define __NR_sched_getscheduler 120
-__SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler)
-#define __NR_sched_getparam 121
-__SYSCALL(__NR_sched_getparam, sys_sched_getparam)
-#define __NR_sched_setaffinity 122
-__SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \
- compat_sys_sched_setaffinity)
-#define __NR_sched_getaffinity 123
-__SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \
- compat_sys_sched_getaffinity)
-#define __NR_sched_yield 124
-__SYSCALL(__NR_sched_yield, sys_sched_yield)
-#define __NR_sched_get_priority_max 125
-__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
-#define __NR_sched_get_priority_min 126
-__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
-#define __NR_sched_rr_get_interval 127
-__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
- compat_sys_sched_rr_get_interval)
-
-/* kernel/signal.c */
-#define __NR_restart_syscall 128
-__SYSCALL(__NR_restart_syscall, sys_restart_syscall)
-#define __NR_kill 129
-__SYSCALL(__NR_kill, sys_kill)
-#define __NR_tkill 130
-__SYSCALL(__NR_tkill, sys_tkill)
-#define __NR_tgkill 131
-__SYSCALL(__NR_tgkill, sys_tgkill)
-#define __NR_sigaltstack 132
-__SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack)
-#define __NR_rt_sigsuspend 133
-__SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend)
-#define __NR_rt_sigaction 134
-__SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
-#define __NR_rt_sigprocmask 135
-__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
-#define __NR_rt_sigpending 136
-__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
-#define __NR_rt_sigtimedwait 137
-__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
- compat_sys_rt_sigtimedwait)
-#define __NR_rt_sigqueueinfo 138
-__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
- compat_sys_rt_sigqueueinfo)
-#define __NR_rt_sigreturn 139
-__SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn)
-
-/* kernel/sys.c */
-#define __NR_setpriority 140
-__SYSCALL(__NR_setpriority, sys_setpriority)
-#define __NR_getpriority 141
-__SYSCALL(__NR_getpriority, sys_getpriority)
-#define __NR_reboot 142
-__SYSCALL(__NR_reboot, sys_reboot)
-#define __NR_setregid 143
-__SYSCALL(__NR_setregid, sys_setregid)
-#define __NR_setgid 144
-__SYSCALL(__NR_setgid, sys_setgid)
-#define __NR_setreuid 145
-__SYSCALL(__NR_setreuid, sys_setreuid)
-#define __NR_setuid 146
-__SYSCALL(__NR_setuid, sys_setuid)
-#define __NR_setresuid 147
-__SYSCALL(__NR_setresuid, sys_setresuid)
-#define __NR_getresuid 148
-__SYSCALL(__NR_getresuid, sys_getresuid)
-#define __NR_setresgid 149
-__SYSCALL(__NR_setresgid, sys_setresgid)
-#define __NR_getresgid 150
-__SYSCALL(__NR_getresgid, sys_getresgid)
-#define __NR_setfsuid 151
-__SYSCALL(__NR_setfsuid, sys_setfsuid)
-#define __NR_setfsgid 152
-__SYSCALL(__NR_setfsgid, sys_setfsgid)
-#define __NR_times 153
-__SC_COMP(__NR_times, sys_times, compat_sys_times)
-#define __NR_setpgid 154
-__SYSCALL(__NR_setpgid, sys_setpgid)
-#define __NR_getpgid 155
-__SYSCALL(__NR_getpgid, sys_getpgid)
-#define __NR_getsid 156
-__SYSCALL(__NR_getsid, sys_getsid)
-#define __NR_setsid 157
-__SYSCALL(__NR_setsid, sys_setsid)
-#define __NR_getgroups 158
-__SYSCALL(__NR_getgroups, sys_getgroups)
-#define __NR_setgroups 159
-__SYSCALL(__NR_setgroups, sys_setgroups)
-#define __NR_uname 160
-__SYSCALL(__NR_uname, sys_newuname)
-#define __NR_sethostname 161
-__SYSCALL(__NR_sethostname, sys_sethostname)
-#define __NR_setdomainname 162
-__SYSCALL(__NR_setdomainname, sys_setdomainname)
-#define __NR_getrlimit 163
-__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
-#define __NR_setrlimit 164
-__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
-#define __NR_getrusage 165
-__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
-#define __NR_umask 166
-__SYSCALL(__NR_umask, sys_umask)
-#define __NR_prctl 167
-__SYSCALL(__NR_prctl, sys_prctl)
-#define __NR_getcpu 168
-__SYSCALL(__NR_getcpu, sys_getcpu)
-
-/* kernel/time.c */
-#define __NR_gettimeofday 169
-__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
-#define __NR_settimeofday 170
-__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
-#define __NR_adjtimex 171
-__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
-
-/* kernel/timer.c */
-#define __NR_getpid 172
-__SYSCALL(__NR_getpid, sys_getpid)
-#define __NR_getppid 173
-__SYSCALL(__NR_getppid, sys_getppid)
-#define __NR_getuid 174
-__SYSCALL(__NR_getuid, sys_getuid)
-#define __NR_geteuid 175
-__SYSCALL(__NR_geteuid, sys_geteuid)
-#define __NR_getgid 176
-__SYSCALL(__NR_getgid, sys_getgid)
-#define __NR_getegid 177
-__SYSCALL(__NR_getegid, sys_getegid)
-#define __NR_gettid 178
-__SYSCALL(__NR_gettid, sys_gettid)
-#define __NR_sysinfo 179
-__SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
-
-/* ipc/mqueue.c */
-#define __NR_mq_open 180
-__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
-#define __NR_mq_unlink 181
-__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
-#define __NR_mq_timedsend 182
-__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
-#define __NR_mq_timedreceive 183
-__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
- compat_sys_mq_timedreceive)
-#define __NR_mq_notify 184
-__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
-#define __NR_mq_getsetattr 185
-__SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr)
-
-/* ipc/msg.c */
-#define __NR_msgget 186
-__SYSCALL(__NR_msgget, sys_msgget)
-#define __NR_msgctl 187
-__SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl)
-#define __NR_msgrcv 188
-__SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv)
-#define __NR_msgsnd 189
-__SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
-
-/* ipc/sem.c */
-#define __NR_semget 190
-__SYSCALL(__NR_semget, sys_semget)
-#define __NR_semctl 191
-__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
-#define __NR_semtimedop 192
-__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
-#define __NR_semop 193
-__SYSCALL(__NR_semop, sys_semop)
-
-/* ipc/shm.c */
-#define __NR_shmget 194
-__SYSCALL(__NR_shmget, sys_shmget)
-#define __NR_shmctl 195
-__SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl)
-#define __NR_shmat 196
-__SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat)
-#define __NR_shmdt 197
-__SYSCALL(__NR_shmdt, sys_shmdt)
-
-/* net/socket.c */
-#define __NR_socket 198
-__SYSCALL(__NR_socket, sys_socket)
-#define __NR_socketpair 199
-__SYSCALL(__NR_socketpair, sys_socketpair)
-#define __NR_bind 200
-__SYSCALL(__NR_bind, sys_bind)
-#define __NR_listen 201
-__SYSCALL(__NR_listen, sys_listen)
-#define __NR_accept 202
-__SYSCALL(__NR_accept, sys_accept)
-#define __NR_connect 203
-__SYSCALL(__NR_connect, sys_connect)
-#define __NR_getsockname 204
-__SYSCALL(__NR_getsockname, sys_getsockname)
-#define __NR_getpeername 205
-__SYSCALL(__NR_getpeername, sys_getpeername)
-#define __NR_sendto 206
-__SYSCALL(__NR_sendto, sys_sendto)
-#define __NR_recvfrom 207
-__SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom)
-#define __NR_setsockopt 208
-__SC_COMP(__NR_setsockopt, sys_setsockopt, compat_sys_setsockopt)
-#define __NR_getsockopt 209
-__SC_COMP(__NR_getsockopt, sys_getsockopt, compat_sys_getsockopt)
-#define __NR_shutdown 210
-__SYSCALL(__NR_shutdown, sys_shutdown)
-#define __NR_sendmsg 211
-__SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg)
-#define __NR_recvmsg 212
-__SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg)
-
-/* mm/filemap.c */
-#define __NR_readahead 213
-__SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead)
-
-/* mm/nommu.c, also with MMU */
-#define __NR_brk 214
-__SYSCALL(__NR_brk, sys_brk)
-#define __NR_munmap 215
-__SYSCALL(__NR_munmap, sys_munmap)
-#define __NR_mremap 216
-__SYSCALL(__NR_mremap, sys_mremap)
-
-/* security/keys/keyctl.c */
-#define __NR_add_key 217
-__SYSCALL(__NR_add_key, sys_add_key)
-#define __NR_request_key 218
-__SYSCALL(__NR_request_key, sys_request_key)
-#define __NR_keyctl 219
-__SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl)
-
-/* arch/example/kernel/sys_example.c */
-#define __NR_clone 220
-__SYSCALL(__NR_clone, sys_clone)
-#define __NR_execve 221
-__SC_COMP(__NR_execve, sys_execve, compat_sys_execve)
-
-#define __NR3264_mmap 222
-__SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap)
-/* mm/fadvise.c */
-#define __NR3264_fadvise64 223
-__SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64)
-
-/* mm/, CONFIG_MMU only */
-#ifndef __ARCH_NOMMU
-#define __NR_swapon 224
-__SYSCALL(__NR_swapon, sys_swapon)
-#define __NR_swapoff 225
-__SYSCALL(__NR_swapoff, sys_swapoff)
-#define __NR_mprotect 226
-__SYSCALL(__NR_mprotect, sys_mprotect)
-#define __NR_msync 227
-__SYSCALL(__NR_msync, sys_msync)
-#define __NR_mlock 228
-__SYSCALL(__NR_mlock, sys_mlock)
-#define __NR_munlock 229
-__SYSCALL(__NR_munlock, sys_munlock)
-#define __NR_mlockall 230
-__SYSCALL(__NR_mlockall, sys_mlockall)
-#define __NR_munlockall 231
-__SYSCALL(__NR_munlockall, sys_munlockall)
-#define __NR_mincore 232
-__SYSCALL(__NR_mincore, sys_mincore)
-#define __NR_madvise 233
-__SYSCALL(__NR_madvise, sys_madvise)
-#define __NR_remap_file_pages 234
-__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages)
-#define __NR_mbind 235
-__SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind)
-#define __NR_get_mempolicy 236
-__SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy)
-#define __NR_set_mempolicy 237
-__SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy)
-#define __NR_migrate_pages 238
-__SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages)
-#define __NR_move_pages 239
-__SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages)
-#endif
-
-#define __NR_rt_tgsigqueueinfo 240
-__SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
- compat_sys_rt_tgsigqueueinfo)
-#define __NR_perf_event_open 241
-__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
-#define __NR_accept4 242
-__SYSCALL(__NR_accept4, sys_accept4)
-#define __NR_recvmmsg 243
-__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
-
-/*
- * Architectures may provide up to 16 syscalls of their own
- * starting with this value.
- */
-#define __NR_arch_specific_syscall 244
-
-#define __NR_wait4 260
-__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
-#define __NR_prlimit64 261
-__SYSCALL(__NR_prlimit64, sys_prlimit64)
-#define __NR_fanotify_init 262
-__SYSCALL(__NR_fanotify_init, sys_fanotify_init)
-#define __NR_fanotify_mark 263
-__SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
-#define __NR_name_to_handle_at 264
-__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
-#define __NR_open_by_handle_at 265
-__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
- compat_sys_open_by_handle_at)
-#define __NR_clock_adjtime 266
-__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
-#define __NR_syncfs 267
-__SYSCALL(__NR_syncfs, sys_syncfs)
-#define __NR_setns 268
-__SYSCALL(__NR_setns, sys_setns)
-#define __NR_sendmmsg 269
-__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg)
-#define __NR_process_vm_readv 270
-__SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \
- compat_sys_process_vm_readv)
-#define __NR_process_vm_writev 271
-__SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \
- compat_sys_process_vm_writev)
-#define __NR_kcmp 272
-__SYSCALL(__NR_kcmp, sys_kcmp)
-#define __NR_finit_module 273
-__SYSCALL(__NR_finit_module, sys_finit_module)
-#define __NR_sched_setattr 274
-__SYSCALL(__NR_sched_setattr, sys_sched_setattr)
-#define __NR_sched_getattr 275
-__SYSCALL(__NR_sched_getattr, sys_sched_getattr)
-#define __NR_renameat2 276
-__SYSCALL(__NR_renameat2, sys_renameat2)
-#define __NR_seccomp 277
-__SYSCALL(__NR_seccomp, sys_seccomp)
-#define __NR_getrandom 278
-__SYSCALL(__NR_getrandom, sys_getrandom)
-#define __NR_memfd_create 279
-__SYSCALL(__NR_memfd_create, sys_memfd_create)
-#define __NR_bpf 280
-__SYSCALL(__NR_bpf, sys_bpf)
-#define __NR_execveat 281
-__SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat)
-#define __NR_userfaultfd 282
-__SYSCALL(__NR_userfaultfd, sys_userfaultfd)
-#define __NR_membarrier 283
-__SYSCALL(__NR_membarrier, sys_membarrier)
-#define __NR_mlock2 284
-__SYSCALL(__NR_mlock2, sys_mlock2)
-
-#undef __NR_syscalls
-#define __NR_syscalls 285
-
-/*
- * All syscalls below here should go away really,
- * these are provided for both review and as a porting
- * help for the C library version.
- *
- * Last chance: are any of these important enough to
- * enable by default?
- */
-#ifdef __ARCH_WANT_SYSCALL_NO_AT
-#define __NR_open 1024
-__SYSCALL(__NR_open, sys_open)
-#define __NR_link 1025
-__SYSCALL(__NR_link, sys_link)
-#define __NR_unlink 1026
-__SYSCALL(__NR_unlink, sys_unlink)
-#define __NR_mknod 1027
-__SYSCALL(__NR_mknod, sys_mknod)
-#define __NR_chmod 1028
-__SYSCALL(__NR_chmod, sys_chmod)
-#define __NR_chown 1029
-__SYSCALL(__NR_chown, sys_chown)
-#define __NR_mkdir 1030
-__SYSCALL(__NR_mkdir, sys_mkdir)
-#define __NR_rmdir 1031
-__SYSCALL(__NR_rmdir, sys_rmdir)
-#define __NR_lchown 1032
-__SYSCALL(__NR_lchown, sys_lchown)
-#define __NR_access 1033
-__SYSCALL(__NR_access, sys_access)
-#define __NR_rename 1034
-__SYSCALL(__NR_rename, sys_rename)
-#define __NR_readlink 1035
-__SYSCALL(__NR_readlink, sys_readlink)
-#define __NR_symlink 1036
-__SYSCALL(__NR_symlink, sys_symlink)
-#define __NR_utimes 1037
-__SYSCALL(__NR_utimes, sys_utimes)
-#define __NR3264_stat 1038
-__SC_3264(__NR3264_stat, sys_stat64, sys_newstat)
-#define __NR3264_lstat 1039
-__SC_3264(__NR3264_lstat, sys_lstat64, sys_newlstat)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR3264_lstat+1)
-#endif /* __ARCH_WANT_SYSCALL_NO_AT */
-
-#ifdef __ARCH_WANT_SYSCALL_NO_FLAGS
-#define __NR_pipe 1040
-__SYSCALL(__NR_pipe, sys_pipe)
-#define __NR_dup2 1041
-__SYSCALL(__NR_dup2, sys_dup2)
-#define __NR_epoll_create 1042
-__SYSCALL(__NR_epoll_create, sys_epoll_create)
-#define __NR_inotify_init 1043
-__SYSCALL(__NR_inotify_init, sys_inotify_init)
-#define __NR_eventfd 1044
-__SYSCALL(__NR_eventfd, sys_eventfd)
-#define __NR_signalfd 1045
-__SYSCALL(__NR_signalfd, sys_signalfd)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_signalfd+1)
-#endif /* __ARCH_WANT_SYSCALL_NO_FLAGS */
-
-#if (__BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)) && \
- defined(__ARCH_WANT_SYSCALL_OFF_T)
-#define __NR_sendfile 1046
-__SYSCALL(__NR_sendfile, sys_sendfile)
-#define __NR_ftruncate 1047
-__SYSCALL(__NR_ftruncate, sys_ftruncate)
-#define __NR_truncate 1048
-__SYSCALL(__NR_truncate, sys_truncate)
-#define __NR_stat 1049
-__SYSCALL(__NR_stat, sys_newstat)
-#define __NR_lstat 1050
-__SYSCALL(__NR_lstat, sys_newlstat)
-#define __NR_fstat 1051
-__SYSCALL(__NR_fstat, sys_newfstat)
-#define __NR_fcntl 1052
-__SYSCALL(__NR_fcntl, sys_fcntl)
-#define __NR_fadvise64 1053
-#define __ARCH_WANT_SYS_FADVISE64
-__SYSCALL(__NR_fadvise64, sys_fadvise64)
-#define __NR_newfstatat 1054
-#define __ARCH_WANT_SYS_NEWFSTATAT
-__SYSCALL(__NR_newfstatat, sys_newfstatat)
-#define __NR_fstatfs 1055
-__SYSCALL(__NR_fstatfs, sys_fstatfs)
-#define __NR_statfs 1056
-__SYSCALL(__NR_statfs, sys_statfs)
-#define __NR_lseek 1057
-__SYSCALL(__NR_lseek, sys_lseek)
-#define __NR_mmap 1058
-__SYSCALL(__NR_mmap, sys_mmap)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_mmap+1)
-#endif /* 32 bit off_t syscalls */
-
-#ifdef __ARCH_WANT_SYSCALL_DEPRECATED
-#define __NR_alarm 1059
-#define __ARCH_WANT_SYS_ALARM
-__SYSCALL(__NR_alarm, sys_alarm)
-#define __NR_getpgrp 1060
-#define __ARCH_WANT_SYS_GETPGRP
-__SYSCALL(__NR_getpgrp, sys_getpgrp)
-#define __NR_pause 1061
-#define __ARCH_WANT_SYS_PAUSE
-__SYSCALL(__NR_pause, sys_pause)
-#define __NR_time 1062
-#define __ARCH_WANT_SYS_TIME
-#define __ARCH_WANT_COMPAT_SYS_TIME
-__SYSCALL(__NR_time, sys_time)
-#define __NR_utime 1063
-#define __ARCH_WANT_SYS_UTIME
-__SYSCALL(__NR_utime, sys_utime)
-
-#define __NR_creat 1064
-__SYSCALL(__NR_creat, sys_creat)
-#define __NR_getdents 1065
-#define __ARCH_WANT_SYS_GETDENTS
-__SYSCALL(__NR_getdents, sys_getdents)
-#define __NR_futimesat 1066
-__SYSCALL(__NR_futimesat, sys_futimesat)
-#define __NR_select 1067
-#define __ARCH_WANT_SYS_SELECT
-__SYSCALL(__NR_select, sys_select)
-#define __NR_poll 1068
-__SYSCALL(__NR_poll, sys_poll)
-#define __NR_epoll_wait 1069
-__SYSCALL(__NR_epoll_wait, sys_epoll_wait)
-#define __NR_ustat 1070
-__SYSCALL(__NR_ustat, sys_ustat)
-#define __NR_vfork 1071
-__SYSCALL(__NR_vfork, sys_vfork)
-#define __NR_oldwait4 1072
-__SYSCALL(__NR_oldwait4, sys_wait4)
-#define __NR_recv 1073
-__SYSCALL(__NR_recv, sys_recv)
-#define __NR_send 1074
-__SYSCALL(__NR_send, sys_send)
-#define __NR_bdflush 1075
-__SYSCALL(__NR_bdflush, sys_bdflush)
-#define __NR_umount 1076
-__SYSCALL(__NR_umount, sys_oldumount)
-#define __ARCH_WANT_SYS_OLDUMOUNT
-#define __NR_uselib 1077
-__SYSCALL(__NR_uselib, sys_uselib)
-#define __NR__sysctl 1078
-__SYSCALL(__NR__sysctl, sys_sysctl)
-
-#define __NR_fork 1079
-#ifdef CONFIG_MMU
-__SYSCALL(__NR_fork, sys_fork)
-#else
-__SYSCALL(__NR_fork, sys_ni_syscall)
-#endif /* CONFIG_MMU */
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_fork+1)
-
-#endif /* __ARCH_WANT_SYSCALL_DEPRECATED */
-
-/*
- * 32 bit systems traditionally used different
- * syscalls for off_t and loff_t arguments, while
- * 64 bit systems only need the off_t version.
- * For new 32 bit platforms, there is no need to
- * implement the old 32 bit off_t syscalls, so
- * they take different names.
- * Here we map the numbers so that both versions
- * use the same syscall table layout.
- */
-#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
-#define __NR_fcntl __NR3264_fcntl
-#define __NR_statfs __NR3264_statfs
-#define __NR_fstatfs __NR3264_fstatfs
-#define __NR_truncate __NR3264_truncate
-#define __NR_ftruncate __NR3264_ftruncate
-#define __NR_lseek __NR3264_lseek
-#define __NR_sendfile __NR3264_sendfile
-#define __NR_newfstatat __NR3264_fstatat
-#define __NR_fstat __NR3264_fstat
-#define __NR_mmap __NR3264_mmap
-#define __NR_fadvise64 __NR3264_fadvise64
-#ifdef __NR3264_stat
-#define __NR_stat __NR3264_stat
-#define __NR_lstat __NR3264_lstat
-#endif
-#else
-#define __NR_fcntl64 __NR3264_fcntl
-#define __NR_statfs64 __NR3264_statfs
-#define __NR_fstatfs64 __NR3264_fstatfs
-#define __NR_truncate64 __NR3264_truncate
-#define __NR_ftruncate64 __NR3264_ftruncate
-#define __NR_llseek __NR3264_lseek
-#define __NR_sendfile64 __NR3264_sendfile
-#define __NR_fstatat64 __NR3264_fstatat
-#define __NR_fstat64 __NR3264_fstat
-#define __NR_mmap2 __NR3264_mmap
-#define __NR_fadvise64_64 __NR3264_fadvise64
-#ifdef __NR3264_stat
-#define __NR_stat64 __NR3264_stat
-#define __NR_lstat64 __NR3264_lstat
-#endif
-#endif
diff --git a/src/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
deleted file mode 100644
index 4684f97..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_X86_A_OUT_H
-#define _ASM_X86_A_OUT_H
-
-struct exec
-{
- unsigned int a_info; /* Use macros N_MAGIC, etc for access */
- unsigned a_text; /* length of text, in bytes */
- unsigned a_data; /* length of data, in bytes */
- unsigned a_bss; /* length of uninitialized data area for file, in bytes */
- unsigned a_syms; /* length of symbol table data in file, in bytes */
- unsigned a_entry; /* start address */
- unsigned a_trsize; /* length of relocation info for text, in bytes */
- unsigned a_drsize; /* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a) ((a).a_trsize)
-#define N_DRSIZE(a) ((a).a_drsize)
-#define N_SYMSIZE(a) ((a).a_syms)
-
-#endif /* _ASM_X86_A_OUT_H */
diff --git a/src/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
deleted file mode 100644
index 77203ac..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/auxvec.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _ASM_X86_AUXVEC_H
-#define _ASM_X86_AUXVEC_H
-/*
- * Architecture-neutral AT_ values in 0-17, leave some room
- * for more of them, start the x86-specific ones at 32.
- */
-#ifdef __i386__
-#define AT_SYSINFO 32
-#endif
-#define AT_SYSINFO_EHDR 33
-
-/* entries in ARCH_DLINFO: */
-#if defined(CONFIG_IA32_EMULATION) || !defined(CONFIG_X86_64)
-# define AT_VECTOR_SIZE_ARCH 2
-#else /* else it's non-compat x86-64 */
-# define AT_VECTOR_SIZE_ARCH 1
-#endif
-
-#endif /* _ASM_X86_AUXVEC_H */
diff --git a/src/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
deleted file mode 100644
index 217909b..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bitsperlong.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __ASM_X86_BITSPERLONG_H
-#define __ASM_X86_BITSPERLONG_H
-
-#if defined(__x86_64__) && !defined(__ILP32__)
-# define __BITS_PER_LONG 64
-#else
-# define __BITS_PER_LONG 32
-#endif
-
-#include
-
-#endif /* __ASM_X86_BITSPERLONG_H */
-
diff --git a/src/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
deleted file mode 100644
index 1f200ac..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/boot.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _ASM_X86_BOOT_H
-#define _ASM_X86_BOOT_H
-
-/* Internal svga startup constants */
-#define NORMAL_VGA 0xffff /* 80x25 mode */
-#define EXTENDED_VGA 0xfffe /* 80x50 mode */
-#define ASK_VGA 0xfffd /* ask for it at bootup */
-
-
-#endif /* _ASM_X86_BOOT_H */
diff --git a/src/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
deleted file mode 100644
index b61f853..0000000
--- a/src/VisualStudio-Linux-Remote/toolchains/gcc5-x86_64-linux-gnu/usr/include/asm/bootparam.h
+++ /dev/null
@@ -1,172 +0,0 @@
-#ifndef _ASM_X86_BOOTPARAM_H
-#define _ASM_X86_BOOTPARAM_H
-
-/* setup_data types */
-#define SETUP_NONE 0
-#define SETUP_E820_EXT 1
-#define SETUP_DTB 2
-#define SETUP_PCI 3
-#define SETUP_EFI 4
-
-/* ram_size flags */
-#define RAMDISK_IMAGE_START_MASK 0x07FF
-#define RAMDISK_PROMPT_FLAG 0x8000
-#define RAMDISK_LOAD_FLAG 0x4000
-
-/* loadflags */
-#define LOADED_HIGH (1<<0)
-#define KASLR_FLAG (1<<1)
-#define QUIET_FLAG (1<<5)
-#define KEEP_SEGMENTS (1<<6)
-#define CAN_USE_HEAP (1<<7)
-
-/* xloadflags */
-#define XLF_KERNEL_64 (1<<0)
-#define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1)
-#define XLF_EFI_HANDOVER_32 (1<<2)
-#define XLF_EFI_HANDOVER_64 (1<<3)
-#define XLF_EFI_KEXEC (1<<4)
-
-#ifndef __ASSEMBLY__
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include