mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
idl: add file_id idl.
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Tue Jan 25 12:27:00 CET 2011 on sn-devel-104
This commit is contained in:
parent
f0b3c72bcc
commit
c9f4fad75c
14
librpc/idl/file_id.idl
Normal file
14
librpc/idl/file_id.idl
Normal file
@ -0,0 +1,14 @@
|
||||
[
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface file_id
|
||||
{
|
||||
typedef [public] struct {
|
||||
/* we don't use SMB_DEV_T and SMB_INO_T as we want a fixed size here,
|
||||
and we may be using file system specific code to fill in something
|
||||
other than a dev_t for the device */
|
||||
udlong devid;
|
||||
udlong inode;
|
||||
udlong extid; /* Support systems that use an extended id (e.g. snapshots). */
|
||||
} file_id;
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
bld.SAMBA_PIDL_LIST('PIDL',
|
||||
'''atsvc.idl drsuapi.idl epmapper.idl initshutdown.idl
|
||||
misc.idl ntlmssp.idl schannel.idl trkwks.idl
|
||||
audiosrv.idl dfsblobs.idl dsbackup.idl eventlog.idl keysvc.idl
|
||||
audiosrv.idl dfsblobs.idl dsbackup.idl eventlog.idl file_id.idl keysvc.idl
|
||||
msgsvc.idl ntsvcs.idl remact.idl security.idl unixinfo.idl wzcsvc.idl
|
||||
browser.idl dfs.idl dssetup.idl frsapi.idl krb5pac.idl
|
||||
named_pipe_auth.idl orpc.idl rot.idl spoolss.idl w32time.idl xattr.idl
|
||||
|
@ -286,6 +286,11 @@ bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
|
||||
public_deps='ndr'
|
||||
)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('NDR_FILE_ID',
|
||||
source='../librpc/gen_ndr/ndr_file_id.c',
|
||||
public_deps='ndr'
|
||||
)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('RPC_NDR_XATTR',
|
||||
source='../librpc/gen_ndr/ndr_xattr_c.c',
|
||||
public_deps='NDR_XATTR dcerpc'
|
||||
|
@ -769,7 +769,7 @@ OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o \
|
||||
smbd/oplock_onefs.o
|
||||
|
||||
NOTIFY_OBJ = smbd/notify.o smbd/notify_inotify.o smbd/notify_internal.o \
|
||||
librpc/gen_ndr/ndr_notify.o
|
||||
librpc/gen_ndr/ndr_notify.o librpc/gen_ndr/ndr_file_id.o
|
||||
|
||||
FNAME_UTIL_OBJ = smbd/filename_util.o
|
||||
|
||||
|
@ -43,14 +43,7 @@ struct lock_context {
|
||||
|
||||
struct files_struct;
|
||||
|
||||
struct file_id {
|
||||
/* we don't use SMB_DEV_T and SMB_INO_T as we want a fixed size here,
|
||||
and we may be using file system specific code to fill in something
|
||||
other than a dev_t for the device */
|
||||
uint64_t devid;
|
||||
uint64_t inode;
|
||||
uint64_t extid; /* Support systems that use an extended id (e.g. snapshots). */
|
||||
};
|
||||
#include "../librpc/gen_ndr/file_id.h"
|
||||
|
||||
struct byte_range_lock {
|
||||
struct files_struct *fsp;
|
||||
|
@ -1584,9 +1584,6 @@ unsigned wins_srv_count_tag(const char *tag);
|
||||
enum ndr_err_code ndr_push_server_id(struct ndr_push *ndr, int ndr_flags, const struct server_id *r);
|
||||
enum ndr_err_code ndr_pull_server_id(struct ndr_pull *ndr, int ndr_flags, struct server_id *r);
|
||||
void ndr_print_server_id(struct ndr_print *ndr, const char *name, const struct server_id *r);
|
||||
enum ndr_err_code ndr_push_file_id(struct ndr_push *ndr, int ndr_flags, const struct file_id *r);
|
||||
enum ndr_err_code ndr_pull_file_id(struct ndr_pull *ndr, int ndr_flags, struct file_id *r);
|
||||
void ndr_print_file_id(struct ndr_print *ndr, const char *name, const struct file_id *r);
|
||||
_PUBLIC_ void ndr_print_sockaddr_storage(struct ndr_print *ndr, const char *name, const struct sockaddr_storage *ss);
|
||||
const char *ndr_errstr(enum ndr_err_code err);
|
||||
extern const struct ndr_syntax_id null_ndr_syntax_id;
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include "idl_types.h"
|
||||
|
||||
import "file_id.idl";
|
||||
|
||||
/*
|
||||
IDL structures for notify change code
|
||||
|
||||
|
@ -161,45 +161,6 @@ void ndr_print_server_id(struct ndr_print *ndr, const char *name, const struct s
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
enum ndr_err_code ndr_push_file_id(struct ndr_push *ndr, int ndr_flags, const struct file_id *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS,
|
||||
(uint64_t)r->devid));
|
||||
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS,
|
||||
(uint64_t)r->inode));
|
||||
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS,
|
||||
(uint64_t)r->extid));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
enum ndr_err_code ndr_pull_file_id(struct ndr_pull *ndr, int ndr_flags, struct file_id *r)
|
||||
{
|
||||
if (ndr_flags & NDR_SCALARS) {
|
||||
NDR_CHECK(ndr_pull_align(ndr, 4));
|
||||
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->devid));
|
||||
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->inode));
|
||||
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->extid));
|
||||
}
|
||||
if (ndr_flags & NDR_BUFFERS) {
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
void ndr_print_file_id(struct ndr_print *ndr, const char *name, const struct file_id *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "file_id");
|
||||
ndr->depth++;
|
||||
ndr_print_udlong(ndr, "devid", (uint64_t)r->devid);
|
||||
ndr_print_udlong(ndr, "inode", (uint64_t)r->inode);
|
||||
ndr_print_udlong(ndr, "extid", (uint64_t)r->extid);
|
||||
ndr->depth--;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_sockaddr_storage(struct ndr_print *ndr, const char *name, const struct sockaddr_storage *ss)
|
||||
{
|
||||
char addr[INET6_ADDRSTRLEN];
|
||||
|
@ -17,7 +17,7 @@ bld.SAMBA_SUBSYSTEM('NDR_MESSAGING',
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
|
||||
source='gen_ndr/ndr_notify.c',
|
||||
public_deps='ndr'
|
||||
public_deps='ndr NDR_FILE_ID'
|
||||
)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('NDR_PREG',
|
||||
|
Loading…
x
Reference in New Issue
Block a user