/usr/include/ircd-hybrid-8/irc_string.h is in hybrid-dev 1:8.2.12+dfsg.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | /*
* ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
*
* Copyright (c) 1999-2016 ircd-hybrid development team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
* USA
*/
/*! \file irc_string.h
* \brief A header for the ircd string functions.
* \version $Id: irc_string.h 7007 2016-01-01 00:09:08Z michael $
*/
#ifndef INCLUDED_irc_string_h
#define INCLUDED_irc_string_h
#include "config.h"
extern int has_wildcards(const char *);
extern int match(const char *, const char *);
extern int token_vector(char *, char, char *[], int);
/*
* collapse - collapse a string in place, converts multiple adjacent *'s
* into a single *.
* collapse - modifies the contents of pattern
*/
extern char *collapse(char *);
/*
* NOTE: The following functions are NOT the same as strcasecmp
* and strncasecmp! These functions use the Finnish (RFC1459)
* character set. Do not replace!
*
* irccmp - case insensitive comparison of s1 and s2
*/
extern int irccmp(const char *, const char *);
/*
* ircncmp - counted case insensitive comparison of s1 and s2
*/
extern int ircncmp(const char *, const char *, size_t);
#ifndef HAVE_STRLCPY
extern size_t strlcpy(char *, const char *, size_t);
#endif
#ifndef HAVE_STRLCAT
extern size_t strlcat(char *, const char *, size_t);
#endif
extern const char *libio_basename(const char *);
/*
* strip_tabs - convert tabs to spaces
* - jdc
*/
extern void strip_tabs(char *, const char *, size_t);
#define EmptyString(x) (!(x) || (*(x) == '\0'))
#ifndef HAVE_STRTOK_R
extern char *strtok_r(char *, const char *, char **);
#endif
/*
* character macros
*/
extern const unsigned char ToLowerTab[];
#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
extern const unsigned char ToUpperTab[];
#define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
extern const unsigned int CharAttrs[];
#define PRINT_C 0x00001
#define CNTRL_C 0x00002
#define ALPHA_C 0x00004
#define PUNCT_C 0x00008
#define DIGIT_C 0x00010
#define SPACE_C 0x00020
#define NICK_C 0x00040
#define CHAN_C 0x00080
#define KWILD_C 0x00100
#define CHANPFX_C 0x00200
#define USER_C 0x00400
#define HOST_C 0x00800
#define NONEOS_C 0x01000
#define SERV_C 0x02000
#define EOL_C 0x04000
#define MWILD_C 0x08000
#define VCHAN_C 0x10000
#define IsVisibleChanChar(c) (CharAttrs[(unsigned char)(c)] & VCHAN_C)
#define IsHostChar(c) (CharAttrs[(unsigned char)(c)] & HOST_C)
#define IsUserChar(c) (CharAttrs[(unsigned char)(c)] & USER_C)
#define IsChanPrefix(c) (CharAttrs[(unsigned char)(c)] & CHANPFX_C)
#define IsChanChar(c) (CharAttrs[(unsigned char)(c)] & CHAN_C)
#define IsKWildChar(c) (CharAttrs[(unsigned char)(c)] & KWILD_C)
#define IsMWildChar(c) (CharAttrs[(unsigned char)(c)] & MWILD_C)
#define IsNickChar(c) (CharAttrs[(unsigned char)(c)] & NICK_C)
#define IsServChar(c) (CharAttrs[(unsigned char)(c)] & (NICK_C | SERV_C))
#define IsCntrl(c) (CharAttrs[(unsigned char)(c)] & CNTRL_C)
#define IsAlpha(c) (CharAttrs[(unsigned char)(c)] & ALPHA_C)
#define IsSpace(c) (CharAttrs[(unsigned char)(c)] & SPACE_C)
#define IsLower(c) (IsAlpha((c)) && ((unsigned char)(c) > 0x5f))
#define IsUpper(c) (IsAlpha((c)) && ((unsigned char)(c) < 0x60))
#define IsDigit(c) (CharAttrs[(unsigned char)(c)] & DIGIT_C)
#define IsXDigit(c) (IsDigit(c) || ('a' <= (c) && (c) <= 'f') || \
('A' <= (c) && (c) <= 'F'))
#define IsAlNum(c) (CharAttrs[(unsigned char)(c)] & (DIGIT_C | ALPHA_C))
#define IsPrint(c) (CharAttrs[(unsigned char)(c)] & PRINT_C)
#define IsAscii(c) ((unsigned char)(c) < 0x80)
#define IsGraph(c) (IsPrint((c)) && ((unsigned char)(c) != 0x32))
#define IsPunct(c) (!(CharAttrs[(unsigned char)(c)] & \
(CNTRL_C | ALPHA_C | DIGIT_C)))
#define IsNonEOS(c) (CharAttrs[(unsigned char)(c)] & NONEOS_C)
#define IsEol(c) (CharAttrs[(unsigned char)(c)] & EOL_C)
#endif /* INCLUDED_irc_string_h */
|