doc
csync_vio_file_stat.h
Go to the documentation of this file.
1/*
2 * libcsync -- a library to sync a directory with another
3 *
4 * Copyright (c) 2008-2013 by Andreas Schneider <asn@cryptomilk.org>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef _CSYNC_VIO_FILE_STAT_H
22#define _CSYNC_VIO_FILE_STAT_H
23
24/*
25 * cannot include csync_private here because
26 * that would cause circular inclusion
27 */
28#include "c_private.h"
29
30#include <sys/types.h>
31#include <sys/stat.h>
32#include <unistd.h>
33
35
41
52
73
74
76 union {
78 char *checksum;
79 } u;
80
81 void *acl;
82 char *name;
83
84 uid_t uid;
85 gid_t gid;
86
87 time_t atime;
88 time_t mtime;
89 time_t ctime;
90
91 off_t size;
92 off_t blksize; /* will be removed in future, not used in csync */
93 unsigned long blkcount; /* will be removed in future, not used in csync */
94
95 mode_t mode;
96
97 dev_t device;
98 ino_t inode;
99 nlink_t nlink;
100
103
105
109};
110
112
114
115#endif /* _CSYNC_VIO_METHOD_H */
csync_vio_file_flags_e
@ CSYNC_VIO_FILE_FLAGS_LOCAL
@ CSYNC_VIO_FILE_FLAGS_SYMLINK
@ CSYNC_VIO_FILE_FLAGS_NONE
csync_vio_file_type_e
@ CSYNC_VIO_FILE_TYPE_DIRECTORY
@ CSYNC_VIO_FILE_TYPE_SOCKET
@ CSYNC_VIO_FILE_TYPE_REGULAR
@ CSYNC_VIO_FILE_TYPE_BLOCK_DEVICE
@ CSYNC_VIO_FILE_TYPE_FIFO
@ CSYNC_VIO_FILE_TYPE_CHARACTER_DEVICE
@ CSYNC_VIO_FILE_TYPE_UNKNOWN
@ CSYNC_VIO_FILE_TYPE_SYMBOLIC_LINK
struct csync_vio_file_stat_s csync_vio_file_stat_t
csync_vio_file_stat_fields_e
@ CSYNC_VIO_FILE_STAT_FIELDS_NONE
@ CSYNC_VIO_FILE_STAT_FIELDS_PERMISSIONS
@ CSYNC_VIO_FILE_STAT_FIELDS_MTIME
@ CSYNC_VIO_FILE_STAT_FIELDS_FLAGS
@ CSYNC_VIO_FILE_STAT_FIELDS_DEVICE
@ CSYNC_VIO_FILE_STAT_FIELDS_UID
@ CSYNC_VIO_FILE_STAT_FIELDS_TYPE
@ CSYNC_VIO_FILE_STAT_FIELDS_ACL
@ CSYNC_VIO_FILE_STAT_FIELDS_LINK_COUNT
@ CSYNC_VIO_FILE_STAT_FIELDS_CTIME
@ CSYNC_VIO_FILE_STAT_FIELDS_CHECKSUM
@ CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_COUNT
@ CSYNC_VIO_FILE_STAT_FIELDS_ATIME
@ CSYNC_VIO_FILE_STAT_FIELDS_SYMLINK_NAME
@ CSYNC_VIO_FILE_STAT_FIELDS_SIZE
@ CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_SIZE
@ CSYNC_VIO_FILE_STAT_FIELDS_GID
@ CSYNC_VIO_FILE_STAT_FIELDS_INODE
csync_vio_file_stat_t * csync_vio_file_stat_new(void)
void csync_vio_file_stat_destroy(csync_vio_file_stat_t *fstat)
union csync_vio_file_stat_s::@144353060174034062226373352303244001217256261222 u
enum csync_vio_file_type_e type
enum csync_vio_file_stat_fields_e fields
enum csync_vio_file_flags_e flags