Rename kn_data to rkn_data

kn_data is reserved in the FreeBSD kernel's namespace by
a compat macro.

Change-Id: Ie5bca4ba278353e869b970d29ab4080d9b59c664
Expose prototypes for the rxgk_gss routines to the kernel

We have stubs now.

Change-Id: Ica30fa1756340d2a527bc38b66f03823332645c4
rxgk changes to compile in the FreeBSD kernel

Don't call assert().
Use sysincludes.h to get errno in the kernel.
Reorder rxgk.h with xdr.h to appease the bool_t typedef.

Change-Id: Ic7bfdee4692e4cad7fea65096fa1c06b9d5d2c5e
Build rxgk into the kernel

Compiles on freebsd.

Is not expected to load, though --missing symbols are:
opr_AssertionFailed
rx_SetServiceSpecific
rx_GetServiceSpecific

Change-Id: I8eded9ce059bd44597630760075010135c40fd21
Avoid aliasing a local variable

Change-Id: Icbb5010d298110cd4dab395fc5eec45e01ec9ba3
Use an unsigned type for bitmask values

As noted by clang -Wshift-sign-overflow, the expression "1<<31"
overflows the signed int type, giving undefined behavior.

Use an unsigned type to make the result of the shift defined
behavior by the C99 standard.

Also change an instance of "1<<31" that was checking for whether the
most significant bit was set, as it's still undefined behavior.

Change-Id: I8cf9443aa92470181044fc3b63d491da18ff5e34
Reviewed-on: http://gerrit.openafs.org/11301
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
FBSD: initialize 'retval' for afs3_syscall

In the same way as linux_ret.

An ugly hack, but it's not really used for anything relevant at the moment.

Change-Id: Ia31ea6668ac3bc2edbec143d0b839f3e797ff424
Remove incomplete struct initializers for rxkad stats

C99 requires that objects with static linkage, which includes
global variables, be initialized to zero/NULL.

It is possible that old compilers required a hack of using one
explicit initializer and relying on the requirement from C99 that
the elements of the structure not listed in the initializer be
initialized as if it had static linkage.

Using a complete explicit initializer is undesired here, as the
statistics structures have a great number of elements.

Change-Id: Iefe7842cbf874252267cb3a8aee5d90ec2cab169
More incomplete initializers for globals

Change-Id: I42213b20844c7bfbea5fea92e6229834a9aa7643
Silence compiler

Change-Id: I1ed10654fb402f4feec55d6d7c7ece6f0c78bc8e
Don't need KERNEL check for SGSSNegotiate either

Change-Id: Idf197d5327ecbacaab6466626f62f4cae29649bc
opr: opr_AssertionFailed undefined in kernel module

The opr_Assert in opr_rbtree_remove is incompletely defined;
the opr_Assert macro is defined in opr.h, but the definition
for the opr_AssertionFailed routine it invokes is not included.
This allows the kernel module to build successfully even though
it retains a hidden undefined reference for opr_AssertionFailed.

However, the logic in obr_rbtree_remove ensures that this
particular opr_Assert can never fail - it is superfluous.
Some compilers (e.g. gcc for Linux AFS kernel module
builds) are able to recognize this and optimize it out.  Others
(e.g. Solaris 5.12) do not, and when this happens the OpenAFS
build appears to succeed but the kernel module will fail to load
due to the undefined symbol.

Remove the superfluous opr_Assert.

This partially reverts commit 9f8b765bbdbb8913fcadbde8d3362039e9dc8e61.

Change-Id: I4ed2b1873c434e41dce0f2e474926bf8b449b819
Change rxgk_gss.c comment to match cpp change

Change-Id: I41ebfdc70c983f237b3bd00052793838f6413c3a
Hide service-specific bits from the kernel

The core rx implementation is userland-only for the moment, using
malloc/free/realloc directly, which is incompatible with kernel
usage.

We will need to fix that eventually for secure callbacks, but
that does not need to be done today.

Change-Id: I94058ec54c55070ce74f78531dd0a4cc60e37bda
Don't use opr in the kernel

Change-Id: Ia6ded920e3c352b0c1c331ddd5191d3ee6398009