librpc/gen_ndr/ndr_notify.c

ソースコードを見る。

関数

_PUBLIC_ NTSTATUS ndr_push_notify_entry (struct ndr_push *ndr, int ndr_flags, const struct notify_entry *r)
_PUBLIC_ NTSTATUS ndr_pull_notify_entry (struct ndr_pull *ndr, int ndr_flags, struct notify_entry *r)
_PUBLIC_ void ndr_print_notify_entry (struct ndr_print *ndr, const char *name, const struct notify_entry *r)
NTSTATUS ndr_push_notify_depth (struct ndr_push *ndr, int ndr_flags, const struct notify_depth *r)
NTSTATUS ndr_pull_notify_depth (struct ndr_pull *ndr, int ndr_flags, struct notify_depth *r)
_PUBLIC_ void ndr_print_notify_depth (struct ndr_print *ndr, const char *name, const struct notify_depth *r)
_PUBLIC_ NTSTATUS ndr_push_notify_array (struct ndr_push *ndr, int ndr_flags, const struct notify_array *r)
_PUBLIC_ NTSTATUS ndr_pull_notify_array (struct ndr_pull *ndr, int ndr_flags, struct notify_array *r)
_PUBLIC_ void ndr_print_notify_array (struct ndr_print *ndr, const char *name, const struct notify_array *r)
_PUBLIC_ NTSTATUS ndr_push_notify_event (struct ndr_push *ndr, int ndr_flags, const struct notify_event *r)
_PUBLIC_ NTSTATUS ndr_pull_notify_event (struct ndr_pull *ndr, int ndr_flags, struct notify_event *r)
_PUBLIC_ void ndr_print_notify_event (struct ndr_print *ndr, const char *name, const struct notify_event *r)


関数

_PUBLIC_ NTSTATUS ndr_push_notify_entry ( struct ndr_push ndr,
int  ndr_flags,
const struct notify_entry r 
)

ndr_notify.c6 行で定義されています。

参照先 notify_entry::filterndr_push_align()ndr_push_pointer()ndr_push_server_id()ndr_push_string()ndr_push_uint32()notify_entry::pathnotify_entry::path_lennotify_entry::private_datanotify_entry::servernotify_entry::subdir_filter.

参照元 ndr_push_notify_depth().

00007 {
00008         if (ndr_flags & NDR_SCALARS) {
00009                 NDR_CHECK(ndr_push_align(ndr, 8));
00010                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server));
00011                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->filter));
00012                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->subdir_filter));
00013                 {
00014                         uint32_t _flags_save_string = ndr->flags;
00015                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
00016                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path));
00017                         ndr->flags = _flags_save_string;
00018                 }
00019                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->path_len));
00020                 NDR_CHECK(ndr_push_pointer(ndr, NDR_SCALARS, r->private_data));
00021         }
00022         if (ndr_flags & NDR_BUFFERS) {
00023                 NDR_CHECK(ndr_push_server_id(ndr, NDR_BUFFERS, &r->server));
00024         }
00025         return NT_STATUS_OK;
00026 }

_PUBLIC_ NTSTATUS ndr_pull_notify_entry ( struct ndr_pull ndr,
int  ndr_flags,
struct notify_entry r 
)

ndr_notify.c28 行で定義されています。

参照先 notify_entry::filterndr_pull_align()ndr_pull_pointer()ndr_pull_server_id()ndr_pull_string()ndr_pull_uint32()notify_entry::pathnotify_entry::path_lennotify_entry::private_datanotify_entry::servernotify_entry::subdir_filter.

参照元 ndr_pull_notify_depth().

00029 {
00030         if (ndr_flags & NDR_SCALARS) {
00031                 NDR_CHECK(ndr_pull_align(ndr, 8));
00032                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server));
00033                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->filter));
00034                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->subdir_filter));
00035                 {
00036                         uint32_t _flags_save_string = ndr->flags;
00037                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
00038                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path));
00039                         ndr->flags = _flags_save_string;
00040                 }
00041                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->path_len));
00042                 NDR_CHECK(ndr_pull_pointer(ndr, NDR_SCALARS, &r->private_data));
00043         }
00044         if (ndr_flags & NDR_BUFFERS) {
00045                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_BUFFERS, &r->server));
00046         }
00047         return NT_STATUS_OK;
00048 }

_PUBLIC_ void ndr_print_notify_entry ( struct ndr_print ndr,
const char *  name,
const struct notify_entry r 
)

ndr_notify.c50 行で定義されています。

参照先 ndr_print::depthnotify_entry::filterndr_print_pointer()ndr_print_server_id()ndr_print_string()ndr_print_struct()ndr_print_uint32()notify_entry::pathnotify_entry::path_lennotify_entry::private_datanotify_entry::servernotify_entry::subdir_filter.

参照元 ndr_print_notify_depth().

00051 {
00052         ndr_print_struct(ndr, name, "notify_entry");
00053         ndr->depth++;
00054         ndr_print_server_id(ndr, "server", &r->server);
00055         ndr_print_uint32(ndr, "filter", r->filter);
00056         ndr_print_uint32(ndr, "subdir_filter", r->subdir_filter);
00057         ndr_print_string(ndr, "path", r->path);
00058         ndr_print_uint32(ndr, "path_len", r->path_len);
00059         ndr_print_pointer(ndr, "private_data", r->private_data);
00060         ndr->depth--;
00061 }

NTSTATUS ndr_push_notify_depth ( struct ndr_push ndr,
int  ndr_flags,
const struct notify_depth r 
)

ndr_notify.c63 行で定義されています。

参照先 notify_depth::entriesnotify_depth::max_masknotify_depth::max_mask_subdirndr_push_align()ndr_push_notify_entry()ndr_push_uint32()notify_depth::num_entries.

参照元 ndr_push_notify_array().

00064 {
00065         uint32_t cntr_entries_0;
00066         if (ndr_flags & NDR_SCALARS) {
00067                 NDR_CHECK(ndr_push_align(ndr, 8));
00068                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_mask));
00069                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_mask_subdir));
00070                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_entries));
00071                 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
00072                         NDR_CHECK(ndr_push_notify_entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
00073                 }
00074         }
00075         if (ndr_flags & NDR_BUFFERS) {
00076                 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
00077                         NDR_CHECK(ndr_push_notify_entry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_0]));
00078                 }
00079         }
00080         return NT_STATUS_OK;
00081 }

NTSTATUS ndr_pull_notify_depth ( struct ndr_pull ndr,
int  ndr_flags,
struct notify_depth r 
)

ndr_notify.c83 行で定義されています。

参照先 notify_depth::entriesnotify_depth::max_masknotify_depth::max_mask_subdirndr_pull_align()ndr_pull_notify_entry()ndr_pull_uint32()notify_depth::num_entries.

参照元 ndr_pull_notify_array().

00084 {
00085         uint32_t cntr_entries_0;
00086         TALLOC_CTX *_mem_save_entries_0;
00087         if (ndr_flags & NDR_SCALARS) {
00088                 NDR_CHECK(ndr_pull_align(ndr, 8));
00089                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_mask));
00090                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_mask_subdir));
00091                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries));
00092                 NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries);
00093                 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
00094                 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
00095                 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
00096                         NDR_CHECK(ndr_pull_notify_entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
00097                 }
00098                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
00099         }
00100         if (ndr_flags & NDR_BUFFERS) {
00101                 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
00102                 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
00103                 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
00104                         NDR_CHECK(ndr_pull_notify_entry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_0]));
00105                 }
00106                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
00107         }
00108         return NT_STATUS_OK;
00109 }

_PUBLIC_ void ndr_print_notify_depth ( struct ndr_print ndr,
const char *  name,
const struct notify_depth r 
)

ndr_notify.c111 行で定義されています。

参照先 asprintf()ndr_print::depthnotify_depth::entriesnotify_depth::max_masknotify_depth::max_mask_subdirndr_print_notify_entry()ndr_print_struct()ndr_print_uint32()notify_depth::num_entriesndr_print::print.

参照元 ndr_print_notify_array().

00112 {
00113         uint32_t cntr_entries_0;
00114         ndr_print_struct(ndr, name, "notify_depth");
00115         ndr->depth++;
00116         ndr_print_uint32(ndr, "max_mask", r->max_mask);
00117         ndr_print_uint32(ndr, "max_mask_subdir", r->max_mask_subdir);
00118         ndr_print_uint32(ndr, "num_entries", r->num_entries);
00119         ndr->print(ndr, "%s: ARRAY(%d)", "entries", r->num_entries);
00120         ndr->depth++;
00121         for (cntr_entries_0=0;cntr_entries_0<r->num_entries;cntr_entries_0++) {
00122                 char *idx_0=NULL;
00123                 asprintf(&idx_0, "[%d]", cntr_entries_0);
00124                 if (idx_0) {
00125                         ndr_print_notify_entry(ndr, "entries", &r->entries[cntr_entries_0]);
00126                         free(idx_0);
00127                 }
00128         }
00129         ndr->depth--;
00130         ndr->depth--;
00131 }

_PUBLIC_ NTSTATUS ndr_push_notify_array ( struct ndr_push ndr,
int  ndr_flags,
const struct notify_array r 
)

ndr_notify.c133 行で定義されています。

参照先 notify_array::depthndr_push_align()ndr_push_notify_depth()ndr_push_uint32()notify_array::num_depths.

参照元 notify_save().

00134 {
00135         uint32_t cntr_depth_0;
00136         if (ndr_flags & NDR_SCALARS) {
00137                 NDR_CHECK(ndr_push_align(ndr, 8));
00138                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_depths));
00139                 for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
00140                         NDR_CHECK(ndr_push_notify_depth(ndr, NDR_SCALARS, &r->depth[cntr_depth_0]));
00141                 }
00142         }
00143         if (ndr_flags & NDR_BUFFERS) {
00144                 for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
00145                         NDR_CHECK(ndr_push_notify_depth(ndr, NDR_BUFFERS, &r->depth[cntr_depth_0]));
00146                 }
00147         }
00148         return NT_STATUS_OK;
00149 }

_PUBLIC_ NTSTATUS ndr_pull_notify_array ( struct ndr_pull ndr,
int  ndr_flags,
struct notify_array r 
)

ndr_notify.c151 行で定義されています。

参照先 notify_array::depthndr_pull_align()ndr_pull_notify_depth()ndr_pull_uint32()notify_array::num_depths.

参照元 notify_load().

00152 {
00153         uint32_t cntr_depth_0;
00154         TALLOC_CTX *_mem_save_depth_0;
00155         if (ndr_flags & NDR_SCALARS) {
00156                 NDR_CHECK(ndr_pull_align(ndr, 8));
00157                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_depths));
00158                 NDR_PULL_ALLOC_N(ndr, r->depth, r->num_depths);
00159                 _mem_save_depth_0 = NDR_PULL_GET_MEM_CTX(ndr);
00160                 NDR_PULL_SET_MEM_CTX(ndr, r->depth, 0);
00161                 for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
00162                         NDR_CHECK(ndr_pull_notify_depth(ndr, NDR_SCALARS, &r->depth[cntr_depth_0]));
00163                 }
00164                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_depth_0, 0);
00165         }
00166         if (ndr_flags & NDR_BUFFERS) {
00167                 _mem_save_depth_0 = NDR_PULL_GET_MEM_CTX(ndr);
00168                 NDR_PULL_SET_MEM_CTX(ndr, r->depth, 0);
00169                 for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
00170                         NDR_CHECK(ndr_pull_notify_depth(ndr, NDR_BUFFERS, &r->depth[cntr_depth_0]));
00171                 }
00172                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_depth_0, 0);
00173         }
00174         return NT_STATUS_OK;
00175 }

_PUBLIC_ void ndr_print_notify_array ( struct ndr_print ndr,
const char *  name,
const struct notify_array r 
)

ndr_notify.c177 行で定義されています。

参照先 asprintf()ndr_print::depthnotify_array::depthndr_print_notify_depth()ndr_print_struct()ndr_print_uint32()notify_array::num_depthsndr_print::print.

00178 {
00179         uint32_t cntr_depth_0;
00180         ndr_print_struct(ndr, name, "notify_array");
00181         ndr->depth++;
00182         ndr_print_uint32(ndr, "num_depths", r->num_depths);
00183         ndr->print(ndr, "%s: ARRAY(%d)", "depth", r->num_depths);
00184         ndr->depth++;
00185         for (cntr_depth_0=0;cntr_depth_0<r->num_depths;cntr_depth_0++) {
00186                 char *idx_0=NULL;
00187                 asprintf(&idx_0, "[%d]", cntr_depth_0);
00188                 if (idx_0) {
00189                         ndr_print_notify_depth(ndr, "depth", &r->depth[cntr_depth_0]);
00190                         free(idx_0);
00191                 }
00192         }
00193         ndr->depth--;
00194         ndr->depth--;
00195 }

_PUBLIC_ NTSTATUS ndr_push_notify_event ( struct ndr_push ndr,
int  ndr_flags,
const struct notify_event r 
)

ndr_notify.c197 行で定義されています。

参照先 notify_event::actionndr_push_align()ndr_push_pointer()ndr_push_string()ndr_push_uint32()notify_event::pathnotify_event::private_data.

参照元 notify_send().

00198 {
00199         if (ndr_flags & NDR_SCALARS) {
00200                 NDR_CHECK(ndr_push_align(ndr, 8));
00201                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->action));
00202                 {
00203                         uint32_t _flags_save_string = ndr->flags;
00204                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
00205                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path));
00206                         ndr->flags = _flags_save_string;
00207                 }
00208                 NDR_CHECK(ndr_push_pointer(ndr, NDR_SCALARS, r->private_data));
00209         }
00210         if (ndr_flags & NDR_BUFFERS) {
00211         }
00212         return NT_STATUS_OK;
00213 }

_PUBLIC_ NTSTATUS ndr_pull_notify_event ( struct ndr_pull ndr,
int  ndr_flags,
struct notify_event r 
)

ndr_notify.c215 行で定義されています。

参照先 notify_event::actionndr_pull_align()ndr_pull_pointer()ndr_pull_string()ndr_pull_uint32()notify_event::pathnotify_event::private_data.

参照元 notify_handler().

00216 {
00217         if (ndr_flags & NDR_SCALARS) {
00218                 NDR_CHECK(ndr_pull_align(ndr, 8));
00219                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->action));
00220                 {
00221                         uint32_t _flags_save_string = ndr->flags;
00222                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
00223                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path));
00224                         ndr->flags = _flags_save_string;
00225                 }
00226                 NDR_CHECK(ndr_pull_pointer(ndr, NDR_SCALARS, &r->private_data));
00227         }
00228         if (ndr_flags & NDR_BUFFERS) {
00229         }
00230         return NT_STATUS_OK;
00231 }

_PUBLIC_ void ndr_print_notify_event ( struct ndr_print ndr,
const char *  name,
const struct notify_event r 
)

ndr_notify.c233 行で定義されています。

参照先 notify_event::actionndr_print::depthndr_print_pointer()ndr_print_string()ndr_print_struct()ndr_print_uint32()notify_event::pathnotify_event::private_data.

00234 {
00235         ndr_print_struct(ndr, name, "notify_event");
00236         ndr->depth++;
00237         ndr_print_uint32(ndr, "action", r->action);
00238         ndr_print_string(ndr, "path", r->path);
00239         ndr_print_pointer(ndr, "private_data", r->private_data);
00240         ndr->depth--;
00241 }


Sambaに対してSat Aug 29 21:23:43 2009に生成されました。  doxygen 1.4.7