home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / samba-1.9.18p7.tar.gz / samba-1.9.18p7.tar / samba-1.9.18p7 / source / charset.h < prev    next >
C/C++ Source or Header  |  1998-01-26  |  2KB  |  76 lines

  1. /* 
  2.    Unix SMB/Netbios implementation.
  3.    Version 1.9.
  4.    Character set handling
  5.    Copyright (C) Andrew Tridgell 1992-1998
  6.    
  7.    This program is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 2 of the License, or
  10.    (at your option) any later version.
  11.    
  12.    This program is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.    
  17.    You should have received a copy of the GNU General Public License
  18.    along with this program; if not, write to the Free Software
  19.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21.  
  22. #ifndef CHARSET_C
  23.  
  24. extern char *dos_char_map;
  25. extern char *upper_char_map;
  26. extern char *lower_char_map;
  27. extern void add_char_string(char *s);
  28. extern void charset_initialise(void);
  29.  
  30. #ifdef toupper
  31. #undef toupper
  32. #endif
  33.  
  34. #ifdef tolower
  35. #undef tolower
  36. #endif
  37.  
  38. #ifdef isupper
  39. #undef isupper
  40. #endif
  41.  
  42. #ifdef islower
  43. #undef islower
  44. #endif
  45.  
  46. #ifdef isdoschar
  47. #undef isdoschar
  48. #endif
  49.  
  50. #ifdef isspace
  51. #undef isspace
  52. #endif
  53.  
  54. #define toupper(c) (upper_char_map[(c&0xff)] & 0xff)
  55. #define tolower(c) (lower_char_map[(c&0xff)] & 0xff)
  56. #define isupper(c) ((c&0xff) != tolower(c&0xff))
  57. #define islower(c) ((c&0xff) != toupper(c&0xff))
  58. #define isdoschar(c) (dos_char_map[(c&0xff)] != 0)
  59. #define isspace(c) ((c)==' ' || (c) == '\t')
  60.  
  61. /* this is used to determine if a character is safe to use in
  62.    something that may be put on a command line */
  63. #define issafe(c) (isalnum((c&0xff)) || strchr("-._",c))
  64. #endif
  65.  
  66. /* Dynamic codepage files defines. */
  67.  
  68. /* Version id for dynamically loadable codepage files. */
  69. #define CODEPAGE_FILE_VERSION_ID 0x1
  70. /* Version 1 codepage file header size. */
  71. #define CODEPAGE_HEADER_SIZE 8
  72. /* Offsets for codepage file header entries. */
  73. #define CODEPAGE_VERSION_OFFSET 0
  74. #define CODEPAGE_CLIENT_CODEPAGE_OFFSET 2
  75. #define CODEPAGE_LENGTH_OFFSET 4
  76.