From a877f59d6f33d782c3b84db4b4df2fffd3a4e3e8 Mon Sep 17 00:00:00 2001 From: !flatcap Date: Thu, 22 Aug 2002 18:09:47 +0000 Subject: [PATCH] whitespace and include guards 2002/07/11 13:18:11-00:00 !flatcap start to break up the dependency loops in the header files 2002/07/02 23:47:10-00:00 !antona Global replacement of __[su]{8,16,32,64} with [su]{8,16,32,64} and layout.h define it. 2002/04/29 01:53:55-00:00 !antona Loads of stuff. Improvements, start on attr pread and attr mst_pread. Write to follow. ntfslabel cleanup and extensions. libntfs cleanups, fixes, etc. 2002/04/20 23:09:42-00:00 !antona Port attribute lookup functions with attribute list support from ntfs tng driver. Port/reimplement extent mft record handling code as well. Rename out all dollar signs from type names and constants. Adapt all callers to new API. Note mkntfs is currently broken due to some needed work. 2002/04/19 18:23:56-00:00 !antona Add foundation of new inode API. 2002/04/18 17:20:05-00:00 !antona New API function provided by unistr.[ch]: ntfs_mbstoucs() 2002/04/16 20:56:01-00:00 !antona Add new API unistr.[ch]: ntfs_ucstombs() and make ntfslabel use it 2002/04/16 15:34:32-00:00 !antona Fix the library... 2002/04/14 13:56:45-00:00 !antona cleanup header files. 2001/06/09 00:25:55-00:00 !antona mkntfs delayed. more reverse engineering required to determine exact method of index entry collation. first few helper functions are already done and entered into ntfslib in unistr.c 2001/06/01 02:07:24-00:00 !antona It has been a long time since last commit. At moment have done a lot of work on mkntfs but also at the moment ntfsfix and ntfsdump_logfile and libntfs are broken. Basically only mkntfs works and that is not complete either. 2001/04/11 11:49:16-00:00 !antona Header file reorganisation so that it compiles. 2001/04/08 03:02:55-00:00 !antona Added cvs Id header. 2001/04/02 02:04:37-00:00 !antona Everything compiles again! Yey! (Don't know about working though, haven't tried it... So be careful...) The definitely final find_{first_}attr() functions are in place. Currently still no support for attribute lists. The two new _RE files contain the C-fied and more or less (more less than more actually) cleaned up functions from the ntfs driver. Once they are cleaned up (find_attr() is already completed but I left it in the _RE files for future reference/educational value) and modified to suit my ideas of how they should work, which are not quite the same as the driver way, they will make it into attrib.[ch]. If anyone gives the new code a try, I would be interested in whether it worked or not... (-; 2001/03/31 15:25:19-00:00 !antona Added a name comparison function. 2001/03/07 01:17:33-00:00 !antona Renamed the unicode files and introduced more code. Finished the new find_first/next_attr() interface functions. Next on my list are functions supporting attribute lists... (Logical change 1.5) --- include/unistr.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/include/unistr.h b/include/unistr.h index e69de29b..2f3690cc 100644 --- a/include/unistr.h +++ b/include/unistr.h @@ -0,0 +1,63 @@ +/* + * $Id$ + * + * unistr.h - Exports for unicode string handling. Part of the Linux-NTFS + * project. + * + * Copyright (c) 2000-2002 Anton Altaparmakov. + * + * This program/include file 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/include file 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 (in the main directory of the Linux-NTFS + * distribution in the file COPYING); if not, write to the Free Software + * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _NTFS_UNISTR_H +#define _NTFS_UNISTR_H + +#include "types.h" +#include "layout.h" + +extern const u8 legal_ansi_char_array[0x40]; + +extern BOOL ntfs_are_names_equal(const uchar_t *s1, size_t s1_len, + const uchar_t *s2, size_t s2_len, const IGNORE_CASE_BOOL ic, + const uchar_t *upcase, const u32 upcase_size); + +extern int ntfs_collate_names(const uchar_t *name1, const u32 name1_len, + const uchar_t *name2, const u32 name2_len, + const int err_val, const IGNORE_CASE_BOOL ic, + const uchar_t *upcase, const u32 upcase_len); + +extern int ntfs_ucsncmp(const uchar_t *s1, const uchar_t *s2, size_t n); + +extern int ntfs_ucsncasecmp(const uchar_t *s1, const uchar_t *s2, size_t n, + const uchar_t *upcase, const u32 upcase_size); + +extern void ntfs_upcase_name(uchar_t *name, u32 name_len, + const uchar_t *upcase, const u32 upcase_len); + +extern void ntfs_file_upcase_value(FILE_NAME_ATTR *file_name_attr, + const uchar_t *upcase, const u32 upcase_len); + +extern int ntfs_file_compare_values(FILE_NAME_ATTR *file_name_attr1, + FILE_NAME_ATTR *file_name_attr2, + const int err_val, const IGNORE_CASE_BOOL ic, + const uchar_t *upcase, const u32 upcase_len); + +extern int ntfs_ucstombs(const uchar_t *ins, const int ins_len, char **outs, + int outs_len); +extern int ntfs_mbstoucs(char *ins, uchar_t **outs, int outs_len); + +#endif /* defined _NTFS_UNISTR_H */ +