1 /** 2 * crypto.h - Exports for dealing with encrypted files. Part of the 3 * Linux-NTFS project. 4 * 5 * Copyright (c) 2007 Yura Pakhuchiy 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 (in the main directory of the Linux-NTFS 19 * distribution in the file COPYING); if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 */ 22 23 #ifndef _NTFS_CRYPTO_H 24 #define _NTFS_CRYPTO_H 25 26 extern ntfschar NTFS_EFS[5]; 27 28 /* 29 * This is our Big Secret (TM) structure, so do not allow anyone even read it 30 * values. ;-) In fact, it is private because exist only in libntfs version 31 * compiled with cryptography support, so users can not depend on it. 32 */ 33 typedef struct _ntfs_crypto_attr ntfs_crypto_attr; 34 35 /* 36 * These functions should not be used directly. They are called for encrypted 37 * attributes from corresponding functions without _crypto_ part. 38 */ 39 40 extern int ntfs_crypto_attr_open(ntfs_attr *na); 41 extern void ntfs_crypto_attr_close(ntfs_attr *na); 42 43 extern s64 ntfs_crypto_attr_pread(ntfs_attr *na, const s64 pos, s64 count, 44 void *b); 45 46 #endif /* _NTFS_CRYPTO_H */