The XAddHost function adds the specified host to the access
control list for that display. The server must be on the same host as the
client issuing the command, or a BadAccess error results.

XAddHost can
generate BadAccess and BadValue errors.

The XAddHosts function adds
each specified host to the access control list for that display. The server
must be on the same host as the client issuing the command, or a BadAccess
error results.

XAddHosts can generate BadAccess and BadValue errors.

The XListHosts function returns the current access control list as well
as whether the use of the list at connection setup was enabled or disabled.
XListHosts allows a program to find out what machines can make connections.
It also returns a pointer to a list of host structures that were allocated
by the function. When no longer needed, this memory should be freed by
calling XFree.

The XRemoveHost function removes the specified host from
the access control list for that display. The server must be on the same
host as the client process, or a BadAccess error results. If you remove
your machine from the access list, you can no longer connect to that server,
and this operation cannot be reversed unless you reset the server.

XRemoveHost
can generate BadAccess and BadValue errors.

The XRemoveHosts function
removes each specified host from the access control list for that display.
The X server must be on the same host as the client process, or a BadAccess
error results. If you remove your machine from the access list, you can
no longer connect to that server, and this operation cannot be reversed
unless you reset the server.

XRemoveHosts can generate BadAccess and
BadValue errors.

The XSetAccessControl function either enables or disables
the use of the access control list at each connection setup.

XSetAccessControl
can generate BadAccess and BadValue errors.

The XEnableAccessControl
function enables the use of the access control list at each connection
setup.

XEnableAccessControl can generate a BadAccess error.

The XDisableAccessControl
function disables the use of the access control list at each connection
setup.

The family member specifies which protocol address family to use (for
example, TCP/IP or DECnet) and can be FamilyInternet, FamilyInternet6,
FamilyServerInterpreted, FamilyDECnet, or FamilyChaos. The length
member specifies the length of the address in bytes. The address member
specifies a pointer to the address.

For the ServerInterpreted family, the
length is ignored and the address member is a pointer to a XServerInterpretedAddress
structure which contains:

The type and value members point to strings representing the type and
value of the server interpreted entry. These strings may not be NULL-terminated
so care should be used when accessing them. The typelength and valuelength
members specify the length in byte of the type and value strings.

A client attempted to modify the access control list from other than
the local (or otherwise authorized) host.

BadValue

Some numeric value
falls outside the range of values accepted by the request. Unless a specific
range is specified for an argument, the full range defined by the argument's
type is accepted. Any argument defined as a set of alternatives can generate
this error.