summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-11-12 16:58:00 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-11-12 17:10:36 +0900
commit6b44ad0bf8e6e9ddfbc6e998e67c2937140ff809 (patch)
tree66b5867ae74f16586e8f28546162362f62535185
parentman: append parentheses for function name (diff)
downloadsystemd-6b44ad0bf8e6e9ddfbc6e998e67c2937140ff809.tar.xz
systemd-6b44ad0bf8e6e9ddfbc6e998e67c2937140ff809.zip
man: set constant tag to NUL or NULL
-rw-r--r--man/journald.conf.xml2
-rw-r--r--man/pam_systemd.xml2
-rw-r--r--man/sd-id128.xml7
-rw-r--r--man/sd_bus_creds_get_pid.xml6
-rw-r--r--man/sd_bus_error.xml14
-rw-r--r--man/sd_bus_interface_name_is_valid.xml2
-rw-r--r--man/sd_bus_path_encode.xml4
-rw-r--r--man/sd_bus_process.xml2
-rw-r--r--man/sd_bus_track_new.xml10
-rw-r--r--man/sd_event_source_get_event.xml2
-rw-r--r--man/sd_event_source_set_prepare.xml2
-rw-r--r--man/sd_event_source_set_userdata.xml2
-rw-r--r--man/sd_get_seats.xml2
-rw-r--r--man/sd_id128_to_string.xml5
-rw-r--r--man/sd_journal_has_runtime_files.xml2
-rw-r--r--man/sd_listen_fds.xml6
-rw-r--r--man/sd_uid_get_state.xml7
-rw-r--r--man/sd_watchdog_enabled.xml2
-rw-r--r--man/systemd-ask-password.xml2
-rw-r--r--man/systemd.exec.xml2
-rw-r--r--man/systemd.journal-fields.xml2
-rw-r--r--man/systemd.netdev.xml3
-rw-r--r--man/systemd.network.xml2
-rw-r--r--man/systemd.unit.xml8
24 files changed, 51 insertions, 47 deletions
diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index e50e8cd5c7f..959815a8f18 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -433,7 +433,7 @@
<listitem><para>The maximum line length to permit when converting stream logs into record logs. When a systemd
unit's standard output/error are connected to the journal via a stream socket, the data read is split into
- individual log records at newline (<literal>\n</literal>, ASCII 10) and NUL characters. If no such delimiter is
+ individual log records at newline (<literal>\n</literal>, ASCII 10) and <constant>NUL</constant> characters. If no such delimiter is
read for the specified number of bytes a hard log record boundary is artificially inserted, breaking up overly
long lines into multiple log records. Selecting overly large values increases the possible memory usage of the
Journal daemon for each stream client, as in the worst case the journal daemon needs to buffer the specified
diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index c26209f111b..21a2581b246 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -244,7 +244,7 @@
<title>Session limits</title>
<para>PAM modules earlier in the stack, that is those that come before <command>pam_systemd.so</command>,
- can set session scope limits using the PAM context objects. The data for these objects is provided as NUL-terminated C strings
+ can set session scope limits using the PAM context objects. The data for these objects is provided as <constant>NUL</constant>-terminated C strings
and maps directly to the respective unit resource control directives. Note that these limits apply to individual sessions of the user,
they do not apply to all user processes as a combined whole. In particular, the per-user <command>user@.service</command> unit instance,
which runs the <command>systemd --user</command> manager process and its children, and is tracked outside of any session, being shared
diff --git a/man/sd-id128.xml b/man/sd-id128.xml
index 79154306a97..40a3cc59aea 100644
--- a/man/sd-id128.xml
+++ b/man/sd-id128.xml
@@ -85,8 +85,8 @@
<programlisting>#define SD_MESSAGE_COREDUMP SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)</programlisting>
- <para><constant>SD_ID128_NULL</constant> may be used to refer to the 128bit ID consisting of only NUL
- bytes.</para>
+ <para><constant>SD_ID128_NULL</constant> may be used to refer to the 128bit ID consisting of only
+ <constant>NUL</constant> bytes.</para>
<para><function>SD_ID128_MAKE_STR()</function> is similar to <function>SD_ID128_MAKE()</function>, but creates a
<type>const char*</type> expression that can be conveniently used in message formats and such:</para>
@@ -136,7 +136,8 @@ int main(int argc, char **argv) {
return 0;
}</programlisting>
- <para>Use <function>sd_id128_is_null()</function> to check if an 128bit ID consists of only NUL bytes:</para>
+ <para>Use <function>sd_id128_is_null()</function> to check if an 128bit ID consists of only
+ <constant>NUL</constant> bytes:</para>
<programlisting>int main(int argc, char *argv[]) {
assert(sd_id128_is_null(SD_ID128_NULL));
diff --git a/man/sd_bus_creds_get_pid.xml b/man/sd_bus_creds_get_pid.xml
index e52bee97760..8f5b94e5311 100644
--- a/man/sd_bus_creds_get_pid.xml
+++ b/man/sd_bus_creds_get_pid.xml
@@ -439,14 +439,14 @@
<para>All functions that take a <parameter>const
char**</parameter> parameter will store the answer there as an
- address of a NUL-terminated string. It will be valid as long as
+ address of a <constant>NUL</constant>-terminated string. It will be valid as long as
<parameter>c</parameter> remains valid, and should not be freed or
modified by the caller.</para>
<para>All functions that take a <parameter>char***</parameter>
parameter will store the answer there as an address of an array
- of strings. Each individual string is NUL-terminated, and the
- array is NULL-terminated as a whole. It will be valid as long as
+ of strings. Each individual string is <constant>NUL</constant>-terminated, and the
+ array is <constant>NULL</constant>-terminated as a whole. It will be valid as long as
<parameter>c</parameter> remains valid, and should not be freed or
modified by the caller.</para>
</refsect1>
diff --git a/man/sd_bus_error.xml b/man/sd_bus_error.xml
index 324d455d593..af2238e74d7 100644
--- a/man/sd_bus_error.xml
+++ b/man/sd_bus_error.xml
@@ -160,10 +160,10 @@
but additional domain-specific errors may be defined by
applications. The <structfield>message</structfield> field usually
contains a human-readable string describing the details, but might
- be NULL. An unset <structname>sd_bus_error</structname> structure
- should have both fields initialized to NULL. Set an error
+ be <constant>NULL</constant>. An unset <structname>sd_bus_error</structname> structure
+ should have both fields initialized to <constant>NULL</constant>. Set an error
structure to <constant>SD_BUS_ERROR_NULL</constant> in order to
- reset both fields to NULL. When no longer necessary, resources
+ reset both fields to <constant>NULL</constant>. When no longer necessary, resources
held by the <structname>sd_bus_error</structname> structure should
be destroyed with <function>sd_bus_error_free()</function>.</para>
@@ -181,14 +181,14 @@
for a list of well-known error names. Additional error mappings
may be defined with
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>. If
- <parameter>e</parameter> is NULL, no error structure is initialized,
+ <parameter>e</parameter> is <constant>NULL</constant>, no error structure is initialized,
but the error is still converted into an
<varname>errno</varname>-style error. If
<parameter>name</parameter> is <constant>NULL</constant>, it is
assumed that no error occurred, and 0 is returned. This means that
this function may be conveniently used in a
<function>return</function> statement. If
- <parameter>message</parameter> is NULL, no message is set. This
+ <parameter>message</parameter> is <constant>NULL</constant>, no message is set. This
call can fail if no memory may be allocated for the name and
message strings, in which case an
<constant>SD_BUS_ERROR_NO_MEMORY</constant> error might be set
@@ -291,10 +291,10 @@
will not be deallocated, and must be <citerefentry
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>d
by the caller if necessary. The function may also be called safely
- on unset errors (error structures with both fields set to NULL),
+ on unset errors (error structures with both fields set to <constant>NULL</constant>),
in which case it performs no operation. This call will reset the
error structure after freeing the data, so that all fields are set
- to NULL. The structure may be reused afterwards.</para>
+ to <constant>NULL</constant>. The structure may be reused afterwards.</para>
</refsect1>
<refsect1>
diff --git a/man/sd_bus_interface_name_is_valid.xml b/man/sd_bus_interface_name_is_valid.xml
index 4b1614e3524..81a3fad0e23 100644
--- a/man/sd_bus_interface_name_is_valid.xml
+++ b/man/sd_bus_interface_name_is_valid.xml
@@ -65,7 +65,7 @@
<title>Return Value</title>
<para>Those functions return 1 if the argument is a valid interface / service / member name or object
- path, and 0 if it is not. If the argument is NULL, an error is returned.</para>
+ path, and 0 if it is not. If the argument is <constant>NULL</constant>, an error is returned.</para>
<refsect2>
<title>Errors</title>
diff --git a/man/sd_bus_path_encode.xml b/man/sd_bus_path_encode.xml
index 15aa8a1b863..5cdb1d77a1d 100644
--- a/man/sd_bus_path_encode.xml
+++ b/man/sd_bus_path_encode.xml
@@ -118,7 +118,7 @@
will be stored there. Each <literal>%</literal> character will
only match the current label. It will never match across labels.
Furthermore, only a single directive is allowed per label.
- If <literal>NULL</literal> is passed as output storage, the
+ If <constant>NULL</constant> is passed as output storage, the
label is verified but not returned to the caller.</para>
</refsect1>
@@ -130,7 +130,7 @@
argument. On success, <function>sd_bus_path_decode()</function>
returns a positive value if the prefixed matched, or 0 if it
did not. If the prefix matched, the external identifier is returned
- in the return parameter. If it did not match, NULL is returned in
+ in the return parameter. If it did not match, <constant>NULL</constant> is returned in
the return parameter. On failure, a negative errno-style error
number is returned by either function. The returned strings must
be
diff --git a/man/sd_bus_process.xml b/man/sd_bus_process.xml
index 225bced1cd2..c5a9e0cfdeb 100644
--- a/man/sd_bus_process.xml
+++ b/man/sd_bus_process.xml
@@ -56,7 +56,7 @@
<parameter>ret</parameter> is not <constant>NULL</constant> and the call processed a message,
<parameter>*ret</parameter> is set to this message. The caller owns a reference to this message and should call
<citerefentry><refentrytitle>sd_bus_message_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry> when the
- message is no longer needed. If <parameter>ret</parameter> is not NULL, progress was made, but no message was
+ message is no longer needed. If <parameter>ret</parameter> is not <constant>NULL</constant>, progress was made, but no message was
processed, <parameter>*ret</parameter> is set to <constant>NULL</constant>.</para>
<para>If a the bus object is connected to an
diff --git a/man/sd_bus_track_new.xml b/man/sd_bus_track_new.xml
index 84812b00e51..2147ad16dd0 100644
--- a/man/sd_bus_track_new.xml
+++ b/man/sd_bus_track_new.xml
@@ -101,11 +101,11 @@
<function>sd_bus_track_add_sender()</function>. They may be dropped again via
<function>sd_bus_track_remove_name()</function> and
<function>sd_bus_track_remove_sender()</function>. Alternatively, references on peers are removed automatically
- when they disconnect from the bus. If non-NULL the <parameter>handler</parameter> may specify a function that is
- invoked whenever the last reference is dropped, regardless whether the reference is dropped explicitly via
- <function>sd_bus_track_remove_name()</function> or implicitly because the peer disconnected from the bus. The final
- argument <parameter>userdata</parameter> may be used to attach a generic user data pointer to the object. This
- pointer is passed to the handler callback when it is invoked.</para>
+ when they disconnect from the bus. If non-<constant>NULL</constant> the <parameter>handler</parameter> may specify
+ a function that is invoked whenever the last reference is dropped, regardless whether the reference is dropped
+ explicitly via <function>sd_bus_track_remove_name()</function> or implicitly because the peer disconnected from the
+ bus. The final argument <parameter>userdata</parameter> may be used to attach a generic user data pointer to the
+ object. This pointer is passed to the handler callback when it is invoked.</para>
<para><function>sd_bus_track_ref()</function> creates a new reference to a bus peer tracking object. This object
will not be destroyed until <function>sd_bus_track_unref()</function> has been called as many times plus once
diff --git a/man/sd_event_source_get_event.xml b/man/sd_event_source_get_event.xml
index b301d6f9b9b..a850583100e 100644
--- a/man/sd_event_source_get_event.xml
+++ b/man/sd_event_source_get_event.xml
@@ -51,7 +51,7 @@
<para>On success, <function>sd_event_source_get_event()</function>
returns the associated event loop object. On failure, it returns
- NULL.</para>
+ <constant>NULL</constant>.</para>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />
diff --git a/man/sd_event_source_set_prepare.xml b/man/sd_event_source_set_prepare.xml
index f24b00edd51..d52c55b3db9 100644
--- a/man/sd_event_source_set_prepare.xml
+++ b/man/sd_event_source_set_prepare.xml
@@ -52,7 +52,7 @@
when the event source was created. The event source will be disabled
if the callback function returns a negative error code. The callback
function may be used to reconfigure the precise events to wait for.
- If the <parameter>callback</parameter> parameter is passed as NULL
+ If the <parameter>callback</parameter> parameter is passed as <constant>NULL</constant>
the callback function is reset. </para>
<para>Event source objects have no preparation callback associated
diff --git a/man/sd_event_source_set_userdata.xml b/man/sd_event_source_set_userdata.xml
index f3649c4e712..e8e5dc14448 100644
--- a/man/sd_event_source_set_userdata.xml
+++ b/man/sd_event_source_set_userdata.xml
@@ -70,7 +70,7 @@
<function>sd_event_source_set_userdata()</function> and
<function>sd_event_source_get_userdata()</function> return the
previously set user data pointer. On failure, they return
- NULL.</para>
+ <constant>NULL</constant>.</para>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />
diff --git a/man/sd_get_seats.xml b/man/sd_get_seats.xml
index 3596dbc0de8..818f9684c30 100644
--- a/man/sd_get_seats.xml
+++ b/man/sd_get_seats.xml
@@ -56,7 +56,7 @@
<para><function>sd_get_seats()</function> may be used to determine
all currently available local seats. Returns the number of seat
- identifiers and if the input pointer is non-NULL, a
+ identifiers and if the input pointer is non-<constant>NULL</constant>, a
<constant>NULL</constant>-terminated array of seat identifiers
is stored at the address.
The returned array and all strings it references need to be freed
diff --git a/man/sd_id128_to_string.xml b/man/sd_id128_to_string.xml
index 3e5b53a4296..54cab1af5ad 100644
--- a/man/sd_id128_to_string.xml
+++ b/man/sd_id128_to_string.xml
@@ -50,8 +50,9 @@
<para><function>sd_id128_from_string()</function> implements the reverse operation: it takes a 33 character string
with 32 hexadecimal digits (either lowercase or uppercase, terminated by <constant>NUL</constant>) and parses them
back into a 128-bit ID returned in <parameter>ret</parameter>. Alternatively, this call can also parse a
- 37-character string with a 128-bit ID formatted as RFC UUID. If <parameter>ret</parameter> is passed as NULL the
- function will validate the passed ID string, but not actually return it in parsed form.</para>
+ 37-character string with a 128-bit ID formatted as RFC UUID. If <parameter>ret</parameter> is passed as
+ <constant>NULL</constant> the function will validate the passed ID string, but not actually return it in parsed
+ form.</para>
<para>For more information about the <literal>sd_id128_t</literal>
type see
diff --git a/man/sd_journal_has_runtime_files.xml b/man/sd_journal_has_runtime_files.xml
index a1e05294230..e452b49e82a 100644
--- a/man/sd_journal_has_runtime_files.xml
+++ b/man/sd_journal_has_runtime_files.xml
@@ -57,7 +57,7 @@
<title>Return value</title>
<para>Both <function>sd_journal_has_runtime_files()</function>
and <function>sd_journal_has_persistent_files()</function> return -EINVAL
- if their argument is NULL.
+ if their argument is <constant>NULL</constant>.
</para>
</refsect1>
diff --git a/man/sd_listen_fds.xml b/man/sd_listen_fds.xml
index 60135790508..9ddd129aae6 100644
--- a/man/sd_listen_fds.xml
+++ b/man/sd_listen_fds.xml
@@ -94,7 +94,7 @@
<function>sd_listen_fds()</function>, but optionally also returns
an array of strings with identification names for the passed file
descriptors, if that is available and the
- <parameter>names</parameter> parameter is non-NULL. This
+ <parameter>names</parameter> parameter is non-<constant>NULL</constant>. This
information is read from the <varname>$LISTEN_FDNAMES</varname>
variable, which may contain a colon-separated list of names. For
socket-activated services, these names may be configured with the
@@ -113,11 +113,11 @@
<function>sd_is_socket()</function> and related calls is not
sufficient. Note that the names used are not unique in any
way. The returned array of strings has as many entries as file
- descriptors have been received, plus a final NULL pointer
+ descriptors have been received, plus a final <constant>NULL</constant> pointer
terminating the array. The caller needs to free the array itself
and each of its elements with libc's <function>free()</function>
call after use. If the <parameter>names</parameter> parameter is
- NULL, the call is entirely equivalent to
+ <constant>NULL</constant>, the call is entirely equivalent to
<function>sd_listen_fds()</function>.</para>
<para>Under specific conditions, the following automatic file
diff --git a/man/sd_uid_get_state.xml b/man/sd_uid_get_state.xml
index dcac27b3262..2d6fb0c8a34 100644
--- a/man/sd_uid_get_state.xml
+++ b/man/sd_uid_get_state.xml
@@ -161,9 +161,10 @@
<varlistentry>
<term><constant>-EINVAL</constant></term>
- <listitem><para>An input parameter was invalid (out of range, or NULL, where that is not
- accepted). This is also returned if the passed user ID is <constant>0xFFFF</constant> or
- <constant>0xFFFFFFFF</constant>, which are undefined on Linux.</para></listitem>
+ <listitem><para>An input parameter was invalid (out of range, or <constant>NULL</constant>,
+ where that is not accepted). This is also returned if the passed user ID is
+ <constant>0xFFFF</constant> or <constant>0xFFFFFFFF</constant>, which are undefined on Linux.
+ </para></listitem>
</varlistentry>
<varlistentry>
diff --git a/man/sd_watchdog_enabled.xml b/man/sd_watchdog_enabled.xml
index 26bd57bbb2d..1abc2f80516 100644
--- a/man/sd_watchdog_enabled.xml
+++ b/man/sd_watchdog_enabled.xml
@@ -63,7 +63,7 @@
<function>sd_watchdog_enabled()</function> will also return with
zero.</para>
- <para>If the <parameter>usec</parameter> parameter is non-NULL,
+ <para>If the <parameter>usec</parameter> parameter is non-<constant>NULL</constant>,
<function>sd_watchdog_enabled()</function> will write the timeout
in µs for the watchdog logic to it.</para>
diff --git a/man/systemd-ask-password.xml b/man/systemd-ask-password.xml
index 95e6fd6873f..433260475dc 100644
--- a/man/systemd-ask-password.xml
+++ b/man/systemd-ask-password.xml
@@ -131,7 +131,7 @@
cached key will have a timeout of 2.5min set, after which it
will be purged from the kernel keyring. Note that it is
possible to cache multiple passwords under the same keyname,
- in which case they will be stored as NUL-separated list of
+ in which case they will be stored as <constant>NUL</constant>-separated list of
passwords. Use
<citerefentry project='die-net'><refentrytitle>keyctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
to access the cached key via the kernel keyring
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 518ae99386b..4b85f914f42 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -2757,7 +2757,7 @@ StandardInputData=SWNrIHNpdHplIGRhIHVuJyBlc3NlIEtsb3BzLAp1ZmYgZWVtYWwga2xvcHAncy
user IDs, public key material and similar non-sensitive data. For everything else use
<varname>LoadCredential=</varname>. In order to embed binary data into the credential data use
C-style escaping (i.e. <literal>\n</literal> to embed a newline, or <literal>\x00</literal> to embed
- a NUL byte).</para>
+ a <constant>NUL</constant> byte).</para>
<para>If a credential of the same ID is listed in both <varname>LoadCredential=</varname> and
<varname>SetCredential=</varname>, the latter will act as default if the former cannot be
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index f1883200a78..578e074f578 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -365,7 +365,7 @@
<para>Only applies to <literal>_TRANSPORT=stdout</literal> records: indicates that the log message
in the standard output/error stream was not terminated with a normal newline character
(<literal>\n</literal>, i.e. ASCII 10). Specifically, when set this field is one of
- <option>nul</option> (in case the line was terminated by a NUL byte), <option>line-max</option> (in
+ <option>nul</option> (in case the line was terminated by a <constant>NUL</constant> byte), <option>line-max</option> (in
case the maximum log line length was reached, as configured with <varname>LineMax=</varname> in
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
<option>eof</option> (if this was the last log record of a stream and the stream ended without a
diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml
index 9e3cd7fdff3..e6a96e3a15e 100644
--- a/man/systemd.netdev.xml
+++ b/man/systemd.netdev.xml
@@ -1770,7 +1770,8 @@
<varlistentry>
<term><varname>AdActorSystem=</varname></term>
<listitem>
- <para>Specifies the 802.3ad system mac address. This can not be either NULL or Multicast.</para>
+ <para>Specifies the 802.3ad system mac address. This can not be either
+ <constant>NULL</constant> or <constant>Multicast</constant>.</para>
</listitem>
</varlistentry>
diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 42bf0c8e309..9edf009c085 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -1944,7 +1944,7 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
<ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
then all options specified earlier are cleared. Takes a whitespace-separated list of strings. Note that
- currently NUL bytes are not allowed.</para>
+ currently <constant>NUL</constant> bytes are not allowed.</para>
</listitem>
</varlistentry>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index aa545d0a195..52db36be713 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -266,10 +266,10 @@
<title>String Escaping for Inclusion in Unit Names</title>
<para>Sometimes it is useful to convert arbitrary strings into unit names. To facilitate this, a method of string
- escaping is used, in order to map strings containing arbitrary byte values (except NUL) into valid unit names and
- their restricted character set. A common special case are unit names that reflect paths to objects in the file
- system hierarchy. Example: a device unit <filename>dev-sda.device</filename> refers to a device with the device
- node <filename index="false">/dev/sda</filename> in the file system.</para>
+ escaping is used, in order to map strings containing arbitrary byte values (except <constant>NUL</constant>) into
+ valid unit names and their restricted character set. A common special case are unit names that reflect paths to
+ objects in the file system hierarchy. Example: a device unit <filename>dev-sda.device</filename> refers to a device
+ with the device node <filename index="false">/dev/sda</filename> in the file system.</para>
<para>The escaping algorithm operates as follows: given a string, any <literal>/</literal> character is replaced by
<literal>-</literal>, and all other characters which are not ASCII alphanumerics or <literal>_</literal> are