1
0
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:
Günther Deschner 2011-01-25 02:42:59 +01:00
parent f0b3c72bcc
commit c9f4fad75c
9 changed files with 25 additions and 53 deletions

14
librpc/idl/file_id.idl Normal file
View 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;
}

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -1,5 +1,7 @@
#include "idl_types.h"
import "file_id.idl";
/*
IDL structures for notify change code

View File

@ -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];

View File

@ -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',