\hypertarget{elektra_2keyname_8c}{}\doxysection{keyname.\+c File Reference}
\label{elektra_2keyname_8c}\index{keyname.c@{keyname.c}}


Methods for Key name manipulation.  


{\ttfamily \#include \char`\"{}kdbprivate.\+h\char`\"{}}\newline
{\ttfamily \#include $<$kdbassert.\+h$>$}\newline
{\ttfamily \#include $<$ctype.\+h$>$}\newline
{\ttfamily \#include \char`\"{}kdb.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}kdbhelper.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}kdbinternal.\+h\char`\"{}}\newline
Include dependency graph for elektra/keyname.c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{elektra_2keyname_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \mbox{\hyperlink{group__keyname_ga8e805c726a60da921d3736cda7813513}{key\+Name}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Returns a pointer to the abbreviated real internal {\ttfamily key} name. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_gabdbcfa51ed8a387e47ead207affa2d2e}{key\+Get\+Name\+Size}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Bytes needed to store the Key\textquotesingle{}s name (excluding owner). \end{DoxyCompactList}\item 
const void $\ast$ \mbox{\hyperlink{group__keyname_ga6fe6af4c27b35d911a533f4ae4d698bb}{key\+Unescaped\+Name}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Returns a Key\textquotesingle{}s name, separated by NULL bytes and without backslashes for escaping. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga5e7eff0c77678420199d0d2e8729152b}{key\+Get\+Unescaped\+Name\+Size}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Returns the size of the Key\textquotesingle{}s unescaped name including embedded and terminating NULL characters. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_gab29a850168d9b31c9529e90cf9ab68be}{key\+Get\+Name}} (const Key $\ast$key, char $\ast$returned\+Name, size\+\_\+t max\+Size)
\begin{DoxyCompactList}\small\item\em Get abbreviated Key name (excluding owner). \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga44a576c7919d5b03f28d3ed3afaa7cd1}{key\+Get\+Unescaped\+Name}} (const Key $\ast$key, char $\ast$returned\+Name, size\+\_\+t max\+Size)
\begin{DoxyCompactList}\small\item\em Copies the unescaped name of a Key into {\ttfamily returned\+Name}. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga7699091610e7f3f43d2949514a4b35d9}{key\+Set\+Name}} (Key $\ast$key, const char $\ast$new\+Name)
\begin{DoxyCompactList}\small\item\em Set a new name to a Key. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_gaa70593a2c772c4b7bc33423b9b10a270}{key\+Add\+Name}} (Key $\ast$key, const char $\ast$new\+Name)
\begin{DoxyCompactList}\small\item\em Add an already escaped name part to the Key\textquotesingle{}s name. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__keyname_gae22037aad3f76f4454de4e6400637b39}{key\+Replace\+Prefix}} (Key $\ast$key, const Key $\ast$old\+Prefix, const Key $\ast$new\+Prefix)
\begin{DoxyCompactList}\small\item\em Replaces a prefix of the key name of {\ttfamily key}. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{group__keyname_ga26bacb092ebca8f69f3fee72069733d8}{elektra\+Key\+Name\+Validate}} (const char $\ast$name, bool is\+Complete)
\begin{DoxyCompactList}\small\item\em Takes an escaped key name and validates it. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__keyname_ga99ef3765a0ea0887c8ab72859ae2592e}{elektra\+Key\+Name\+Canonicalize}} (const char $\ast$name, char $\ast$$\ast$canonical\+Name, size\+\_\+t $\ast$canonical\+Size\+Ptr, size\+\_\+t offset, size\+\_\+t $\ast$usize\+Ptr)
\begin{DoxyCompactList}\small\item\em Takes a valid (non-\/)canonical key name and produces its canonical form. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__keyname_ga85dd2a5169e900c6c8371c54c7944edb}{elektra\+Key\+Name\+Unescape}} (const char $\ast$canonical\+Name, char $\ast$unescaped\+Name)
\begin{DoxyCompactList}\small\item\em Takes a canonical key name and unescapes it. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__keyname_gaaff35e7ca8af5560c47e662ceb9465f5}{key\+Base\+Name}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Returns a pointer to the unescaped Key\textquotesingle{}s name where the basename starts. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga1a0b76c5d9e5367c7e72211e6c63d43a}{key\+Get\+Base\+Name\+Size}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Calculates number of bytes needed to store basename of {\ttfamily key} (including NULL terminator). \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga0992d26bcfca767cb8e77053a483eb64}{key\+Get\+Base\+Name}} (const Key $\ast$key, char $\ast$returned, size\+\_\+t max\+Size)
\begin{DoxyCompactList}\small\item\em Copy the Key\textquotesingle{}s basename to {\ttfamily returned}. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{group__keyname_ga35ac22f466de1a74ca72b05e8252980d}{elektra\+Key\+Name\+Escape\+Part}} (const char $\ast$part, char $\ast$$\ast$escaped\+Part)
\begin{DoxyCompactList}\small\item\em Takes a single key name part and produces its escaped form. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_gaa942091fc4bd5c2699e49ddc50829524}{key\+Add\+Base\+Name}} (Key $\ast$key, const char $\ast$base\+Name)
\begin{DoxyCompactList}\small\item\em Adds {\ttfamily base\+Name} to the name of {\ttfamily key}. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga6e804bd453f98c28b0ff51430d1df407}{key\+Set\+Base\+Name}} (Key $\ast$key, const char $\ast$base\+Name)
\begin{DoxyCompactList}\small\item\em Sets {\ttfamily base\+Name} as the new basename for {\ttfamily key}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__key_gaec3b8d6f430ae49b91bafe8a86310a68}{elektra\+Namespace}} \mbox{\hyperlink{group__keyname_gafc3ca03ed10f87eb59bdc02cf2a0de8d}{key\+Get\+Namespace}} (const Key $\ast$key)
\begin{DoxyCompactList}\small\item\em Returns the \mbox{\hyperlink{group__key_gaec3b8d6f430ae49b91bafe8a86310a68}{elektra\+Namespace}} for a Key. \end{DoxyCompactList}\item 
ssize\+\_\+t \mbox{\hyperlink{group__keyname_ga98c1c1307419e689c98e556e5c542073}{key\+Set\+Namespace}} (Key $\ast$key, \mbox{\hyperlink{group__key_gaec3b8d6f430ae49b91bafe8a86310a68}{elektra\+Namespace}} ns)
\begin{DoxyCompactList}\small\item\em Changes the namespace of a Key. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__keyname_ga331831b039b752751603e73d4a0a5d96}{elektra\+Is\+Array\+Part}} (const char $\ast$name\+Part)
\begin{DoxyCompactList}\small\item\em Checks if the given key name part is an array part. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Methods for Key name manipulation. 

\begin{DoxyCopyright}{Copyright}
BSD License (see LICENSE.\+md or \href{https://www.libelektra.org}{\texttt{ https\+://www.\+libelektra.\+org}}) 
\end{DoxyCopyright}
