.TH "keyname.c" 3elektra "Thu Sep 7 2023" "Version 0.11.0" "Elektra" \" -*- nroff -*-
.ad l
.nh
.SH NAME
keyname.c \- Methods for Key name manipulation\&.  

.SH SYNOPSIS
.br
.PP
\fC#include 'kdbprivate\&.h'\fP
.br
\fC#include <kdbassert\&.h>\fP
.br
\fC#include <ctype\&.h>\fP
.br
\fC#include 'kdb\&.h'\fP
.br
\fC#include 'kdbhelper\&.h'\fP
.br
\fC#include 'kdbinternal\&.h'\fP
.br

.SS "Functions"

.in +1c
.ti -1c
.RI "const char * \fBkeyName\fP (const Key *key)"
.br
.RI "Returns a pointer to the abbreviated real internal \fCkey\fP name\&. "
.ti -1c
.RI "ssize_t \fBkeyGetNameSize\fP (const Key *key)"
.br
.RI "Bytes needed to store the Key's name (excluding owner)\&. "
.ti -1c
.RI "const void * \fBkeyUnescapedName\fP (const Key *key)"
.br
.RI "Returns a Key's name, separated by NULL bytes and without backslashes for escaping\&. "
.ti -1c
.RI "ssize_t \fBkeyGetUnescapedNameSize\fP (const Key *key)"
.br
.RI "Returns the size of the Key's unescaped name including embedded and terminating NULL characters\&. "
.ti -1c
.RI "ssize_t \fBkeyGetName\fP (const Key *key, char *returnedName, size_t maxSize)"
.br
.RI "Get abbreviated Key name (excluding owner)\&. "
.ti -1c
.RI "ssize_t \fBkeyGetUnescapedName\fP (const Key *key, char *returnedName, size_t maxSize)"
.br
.RI "Copies the unescaped name of a Key into \fCreturnedName\fP\&. "
.ti -1c
.RI "ssize_t \fBkeySetName\fP (Key *key, const char *newName)"
.br
.RI "Set a new name to a Key\&. "
.ti -1c
.RI "ssize_t \fBkeyAddName\fP (Key *key, const char *newName)"
.br
.RI "Add an already escaped name part to the Key's name\&. "
.ti -1c
.RI "int \fBkeyReplacePrefix\fP (Key *key, const Key *oldPrefix, const Key *newPrefix)"
.br
.RI "Replaces a prefix of the key name of \fCkey\fP\&. "
.ti -1c
.RI "bool \fBelektraKeyNameValidate\fP (const char *name, bool isComplete)"
.br
.RI "Takes an escaped key name and validates it\&. "
.ti -1c
.RI "void \fBelektraKeyNameCanonicalize\fP (const char *name, char **canonicalName, size_t *canonicalSizePtr, size_t offset, size_t *usizePtr)"
.br
.RI "Takes a valid (non-)canonical key name and produces its canonical form\&. "
.ti -1c
.RI "void \fBelektraKeyNameUnescape\fP (const char *canonicalName, char *unescapedName)"
.br
.RI "Takes a canonical key name and unescapes it\&. "
.ti -1c
.RI "const char * \fBkeyBaseName\fP (const Key *key)"
.br
.RI "Returns a pointer to the unescaped Key's name where the basename starts\&. "
.ti -1c
.RI "ssize_t \fBkeyGetBaseNameSize\fP (const Key *key)"
.br
.RI "Calculates number of bytes needed to store basename of \fCkey\fP (including NULL terminator)\&. "
.ti -1c
.RI "ssize_t \fBkeyGetBaseName\fP (const Key *key, char *returned, size_t maxSize)"
.br
.RI "Copy the Key's basename to \fCreturned\fP\&. "
.ti -1c
.RI "size_t \fBelektraKeyNameEscapePart\fP (const char *part, char **escapedPart)"
.br
.RI "Takes a single key name part and produces its escaped form\&. "
.ti -1c
.RI "ssize_t \fBkeyAddBaseName\fP (Key *key, const char *baseName)"
.br
.RI "Adds \fCbaseName\fP to the name of \fCkey\fP\&. "
.ti -1c
.RI "ssize_t \fBkeySetBaseName\fP (Key *key, const char *baseName)"
.br
.RI "Sets \fCbaseName\fP as the new basename for \fCkey\fP\&. "
.ti -1c
.RI "\fBelektraNamespace\fP \fBkeyGetNamespace\fP (const Key *key)"
.br
.RI "Returns the \fBelektraNamespace\fP for a Key\&. "
.ti -1c
.RI "ssize_t \fBkeySetNamespace\fP (Key *key, \fBelektraNamespace\fP ns)"
.br
.RI "Changes the namespace of a Key\&. "
.ti -1c
.RI "int \fBelektraIsArrayPart\fP (const char *namePart)"
.br
.RI "Checks if the given key name part is an array part\&. "
.in -1c
.SH "Detailed Description"
.PP 
Methods for Key name manipulation\&. 


.PP
\fBCopyright\fP
.RS 4
BSD License (see LICENSE\&.md or https://www.libelektra.org) 
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for Elektra from the source code\&.
