s3: Modifications to generic notify structures to allow implementation of OneFS notify.
[obnox/samba-ctdb.git] / source / librpc / ndr / ndr_basic.c
index c8fa70b1851d042d86bc4cb2a5120ccdc25be518..f81ac7b384f84fc8b846fddaa711abca45bb0733 100644 (file)
@@ -857,3 +857,38 @@ _PUBLIC_ void ndr_print_sockaddr_storage(struct ndr_print *ndr, const char *name
        char addr[INET6_ADDRSTRLEN];
        ndr->print(ndr, "%-25s: %s", name, print_sockaddr(addr, sizeof(addr), ss));
 }
+
+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));
+       }
+       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));
+       }
+       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->depth--;
+}