ecryptfs_kernel.h (16a72c455a67bb23eed7292a31c6ba17729e78e6) ecryptfs_kernel.h (7896b631823c6e8f1a520d89390624a51445840e)
1/**
2 * eCryptfs: Linux filesystem encryption layer
3 * Kernel declarations.
4 *
5 * Copyright (C) 1997-2003 Erez Zadok
6 * Copyright (C) 2001-2003 Stony Brook University
7 * Copyright (C) 2004-2007 International Business Machines Corp.
8 * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com>

--- 308 unchanged lines hidden (view full) ---

317struct ecryptfs_key_tfm {
318 struct crypto_blkcipher *key_tfm;
319 size_t key_size;
320 struct mutex key_tfm_mutex;
321 struct list_head key_tfm_list;
322 unsigned char cipher_name[ECRYPTFS_MAX_CIPHER_NAME_SIZE + 1];
323};
324
1/**
2 * eCryptfs: Linux filesystem encryption layer
3 * Kernel declarations.
4 *
5 * Copyright (C) 1997-2003 Erez Zadok
6 * Copyright (C) 2001-2003 Stony Brook University
7 * Copyright (C) 2004-2007 International Business Machines Corp.
8 * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com>

--- 308 unchanged lines hidden (view full) ---

317struct ecryptfs_key_tfm {
318 struct crypto_blkcipher *key_tfm;
319 size_t key_size;
320 struct mutex key_tfm_mutex;
321 struct list_head key_tfm_list;
322 unsigned char cipher_name[ECRYPTFS_MAX_CIPHER_NAME_SIZE + 1];
323};
324
325extern struct list_head key_tfm_list;
326extern struct mutex key_tfm_list_mutex;
327
328/**
329 * This struct is to enable a mount-wide passphrase/salt combo. This
330 * is more or less a stopgap to provide similar functionality to other
331 * crypto filesystems like EncFS or CFS until full policy support is
332 * implemented in eCryptfs.
333 */
334struct ecryptfs_mount_crypt_stat {
335 /* Pointers to memory we do not own, do not free these */

--- 184 unchanged lines hidden (view full) ---

520extern struct kmem_cache *ecryptfs_file_info_cache;
521extern struct kmem_cache *ecryptfs_dentry_info_cache;
522extern struct kmem_cache *ecryptfs_inode_info_cache;
523extern struct kmem_cache *ecryptfs_sb_info_cache;
524extern struct kmem_cache *ecryptfs_header_cache_0;
525extern struct kmem_cache *ecryptfs_header_cache_1;
526extern struct kmem_cache *ecryptfs_header_cache_2;
527extern struct kmem_cache *ecryptfs_xattr_cache;
325/**
326 * This struct is to enable a mount-wide passphrase/salt combo. This
327 * is more or less a stopgap to provide similar functionality to other
328 * crypto filesystems like EncFS or CFS until full policy support is
329 * implemented in eCryptfs.
330 */
331struct ecryptfs_mount_crypt_stat {
332 /* Pointers to memory we do not own, do not free these */

--- 184 unchanged lines hidden (view full) ---

517extern struct kmem_cache *ecryptfs_file_info_cache;
518extern struct kmem_cache *ecryptfs_dentry_info_cache;
519extern struct kmem_cache *ecryptfs_inode_info_cache;
520extern struct kmem_cache *ecryptfs_sb_info_cache;
521extern struct kmem_cache *ecryptfs_header_cache_0;
522extern struct kmem_cache *ecryptfs_header_cache_1;
523extern struct kmem_cache *ecryptfs_header_cache_2;
524extern struct kmem_cache *ecryptfs_xattr_cache;
528extern struct kmem_cache *ecryptfs_lower_page_cache;
529extern struct kmem_cache *ecryptfs_key_record_cache;
530extern struct kmem_cache *ecryptfs_key_sig_cache;
531extern struct kmem_cache *ecryptfs_global_auth_tok_cache;
532extern struct kmem_cache *ecryptfs_key_tfm_cache;
533
534int ecryptfs_interpose(struct dentry *hidden_dentry,
535 struct dentry *this_dentry, struct super_block *sb,
536 int flag);

--- 34 unchanged lines hidden (view full) ---

571 size_t *len, size_t max);
572int
573ecryptfs_parse_packet_set(struct ecryptfs_crypt_stat *crypt_stat,
574 unsigned char *src, struct dentry *ecryptfs_dentry);
575int ecryptfs_truncate(struct dentry *dentry, loff_t new_length);
576int ecryptfs_inode_test(struct inode *inode, void *candidate_lower_inode);
577int ecryptfs_inode_set(struct inode *inode, void *lower_inode);
578void ecryptfs_init_inode(struct inode *inode, struct inode *lower_inode);
525extern struct kmem_cache *ecryptfs_key_record_cache;
526extern struct kmem_cache *ecryptfs_key_sig_cache;
527extern struct kmem_cache *ecryptfs_global_auth_tok_cache;
528extern struct kmem_cache *ecryptfs_key_tfm_cache;
529
530int ecryptfs_interpose(struct dentry *hidden_dentry,
531 struct dentry *this_dentry, struct super_block *sb,
532 int flag);

--- 34 unchanged lines hidden (view full) ---

567 size_t *len, size_t max);
568int
569ecryptfs_parse_packet_set(struct ecryptfs_crypt_stat *crypt_stat,
570 unsigned char *src, struct dentry *ecryptfs_dentry);
571int ecryptfs_truncate(struct dentry *dentry, loff_t new_length);
572int ecryptfs_inode_test(struct inode *inode, void *candidate_lower_inode);
573int ecryptfs_inode_set(struct inode *inode, void *lower_inode);
574void ecryptfs_init_inode(struct inode *inode, struct inode *lower_inode);
579ssize_t ecryptfs_getxattr(struct dentry *dentry, const char *name, void *value,
580 size_t size);
581ssize_t
582ecryptfs_getxattr_lower(struct dentry *lower_dentry, const char *name,
583 void *value, size_t size);
584int
585ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value,
586 size_t size, int flags);
587int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode);
588int ecryptfs_process_helo(unsigned int transport, uid_t uid, pid_t pid);

--- 37 unchanged lines hidden (view full) ---

626int ecryptfs_get_tfm_and_mutex_for_cipher_name(struct crypto_blkcipher **tfm,
627 struct mutex **tfm_mutex,
628 char *cipher_name);
629int ecryptfs_keyring_auth_tok_for_sig(struct key **auth_tok_key,
630 struct ecryptfs_auth_tok **auth_tok,
631 char *sig);
632int ecryptfs_write_zeros(struct file *file, pgoff_t index, int start,
633 int num_zeros);
575ssize_t
576ecryptfs_getxattr_lower(struct dentry *lower_dentry, const char *name,
577 void *value, size_t size);
578int
579ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value,
580 size_t size, int flags);
581int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode);
582int ecryptfs_process_helo(unsigned int transport, uid_t uid, pid_t pid);

--- 37 unchanged lines hidden (view full) ---

620int ecryptfs_get_tfm_and_mutex_for_cipher_name(struct crypto_blkcipher **tfm,
621 struct mutex **tfm_mutex,
622 char *cipher_name);
623int ecryptfs_keyring_auth_tok_for_sig(struct key **auth_tok_key,
624 struct ecryptfs_auth_tok **auth_tok,
625 char *sig);
626int ecryptfs_write_zeros(struct file *file, pgoff_t index, int start,
627 int num_zeros);
634void ecryptfs_lower_offset_for_extent(loff_t *offset, loff_t extent_num,
635 struct ecryptfs_crypt_stat *crypt_stat);
636int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data,
637 loff_t offset, size_t size);
638int ecryptfs_write_lower_page_segment(struct inode *ecryptfs_inode,
639 struct page *page_for_lower,
640 size_t offset_in_page, size_t size);
641int ecryptfs_write(struct file *ecryptfs_file, char *data, loff_t offset,
642 size_t size);
643int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
644 struct inode *ecryptfs_inode);
645int ecryptfs_read_lower_page_segment(struct page *page_for_ecryptfs,
646 pgoff_t page_index,
647 size_t offset_in_page, size_t size,
648 struct inode *ecryptfs_inode);
628int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data,
629 loff_t offset, size_t size);
630int ecryptfs_write_lower_page_segment(struct inode *ecryptfs_inode,
631 struct page *page_for_lower,
632 size_t offset_in_page, size_t size);
633int ecryptfs_write(struct file *ecryptfs_file, char *data, loff_t offset,
634 size_t size);
635int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
636 struct inode *ecryptfs_inode);
637int ecryptfs_read_lower_page_segment(struct page *page_for_ecryptfs,
638 pgoff_t page_index,
639 size_t offset_in_page, size_t size,
640 struct inode *ecryptfs_inode);
649int ecryptfs_read(char *data, loff_t offset, size_t size,
650 struct file *ecryptfs_file);
651struct page *ecryptfs_get_locked_page(struct file *file, loff_t index);
652
653#endif /* #ifndef ECRYPTFS_KERNEL_H */
641struct page *ecryptfs_get_locked_page(struct file *file, loff_t index);
642
643#endif /* #ifndef ECRYPTFS_KERNEL_H */