root/source3/winbindd/winbindd_ndr.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ndr_print_winbindd_child
  2. ndr_print_winbindd_cm_conn
  3. ndr_print_winbindd_methods
  4. ndr_print_winbindd_domain

   1 /*
   2  *  Unix SMB/CIFS implementation.
   3  *  winbindd debug helper
   4  *  Copyright (C) Guenther Deschner 2008
   5  *
   6  *  This program is free software; you can redistribute it and/or modify
   7  *  it under the terms of the GNU General Public License as published by
   8  *  the Free Software Foundation; either version 3 of the License, or
   9  *  (at your option) any later version.
  10  *
  11  *  This program 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
  14  *  GNU General Public License for more details.
  15  *
  16  *  You should have received a copy of the GNU General Public License
  17  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  18  */
  19 
  20 #include "includes.h"
  21 #include "winbindd.h"
  22 
  23 #undef DBGC_CLASS
  24 #define DBGC_CLASS DBGC_WINBIND
  25 
  26 /****************************************************************
  27 ****************************************************************/
  28 
  29 void ndr_print_winbindd_child(struct ndr_print *ndr,
     /* [<][>][^][v][top][bottom][index][help] */
  30                               const char *name,
  31                               const struct winbindd_child *r)
  32 {
  33         ndr_print_struct(ndr, name, "winbindd_child");
  34         ndr->depth++;
  35         ndr_print_ptr(ndr, "next", r->next);
  36         ndr_print_ptr(ndr, "prev", r->prev);
  37         ndr_print_uint32(ndr, "pid", (uint32_t)r->pid);
  38 #if 0
  39         ndr_print_winbindd_domain(ndr, "domain", r->domain);
  40 #else
  41         ndr_print_ptr(ndr, "domain", r->domain);
  42 #endif
  43         ndr_print_string(ndr, "logfilename", r->logfilename);
  44         /* struct fd_event event; */
  45         ndr_print_ptr(ndr, "lockout_policy_event", r->lockout_policy_event);
  46         ndr_print_ptr(ndr, "requests", r->requests);
  47         ndr_print_ptr(ndr, "table", r->table);
  48         ndr->depth--;
  49 }
  50 
  51 /****************************************************************
  52 ****************************************************************/
  53 
  54 void ndr_print_winbindd_cm_conn(struct ndr_print *ndr,
     /* [<][>][^][v][top][bottom][index][help] */
  55                                 const char *name,
  56                                 const struct winbindd_cm_conn *r)
  57 {
  58         ndr_print_struct(ndr, name, "winbindd_cm_conn");
  59         ndr->depth++;
  60         ndr_print_ptr(ndr, "cli", r->cli);
  61         ndr_print_ptr(ndr, "samr_pipe", r->samr_pipe);
  62         ndr_print_policy_handle(ndr, "sam_connect_handle", &r->sam_connect_handle);
  63         ndr_print_policy_handle(ndr, "sam_domain_handle", &r->sam_domain_handle);
  64         ndr_print_ptr(ndr, "lsa_pipe", r->lsa_pipe);
  65         ndr_print_policy_handle(ndr, "lsa_policy", &r->lsa_policy);
  66         ndr_print_ptr(ndr, "netlogon_pipe", r->netlogon_pipe);
  67         ndr->depth--;
  68 }
  69 
  70 /****************************************************************
  71 ****************************************************************/
  72 
  73 #ifdef HAVE_ADS
  74 extern struct winbindd_methods ads_methods;
  75 #endif
  76 extern struct winbindd_methods msrpc_methods;
  77 extern struct winbindd_methods builtin_passdb_methods;
  78 extern struct winbindd_methods sam_passdb_methods;
  79 extern struct winbindd_methods reconnect_methods;
  80 extern struct winbindd_methods cache_methods;
  81 
  82 void ndr_print_winbindd_methods(struct ndr_print *ndr,
     /* [<][>][^][v][top][bottom][index][help] */
  83                                 const char *name,
  84                                 const struct winbindd_methods *r)
  85 {
  86         ndr_print_struct(ndr, name, "winbindd_methods");
  87         ndr->depth++;
  88 
  89         if (r == NULL) {
  90                 ndr_print_string(ndr, name, "(NULL)");
  91                 ndr->depth--;
  92                 return;
  93         }
  94 
  95         if (r == &msrpc_methods) {
  96                 ndr_print_string(ndr, name, "msrpc_methods");
  97 #ifdef HAVE_ADS
  98         } else if (r == &ads_methods) {
  99                 ndr_print_string(ndr, name, "ads_methods");
 100 #endif
 101         } else if (r == &builtin_passdb_methods) {
 102                 ndr_print_string(ndr, name, "builtin_passdb_methods");
 103         } else if (r == &sam_passdb_methods) {
 104                 ndr_print_string(ndr, name, "sam_passdb_methods");
 105         } else if (r == &reconnect_methods) {
 106                 ndr_print_string(ndr, name, "reconnect_methods");
 107         } else if (r == &cache_methods) {
 108                 ndr_print_string(ndr, name, "cache_methods");
 109         } else {
 110                 ndr_print_string(ndr, name, "UNKNOWN");
 111         }
 112         ndr->depth--;
 113 }
 114 
 115 /****************************************************************
 116 ****************************************************************/
 117 
 118 void ndr_print_winbindd_domain(struct ndr_print *ndr,
     /* [<][>][^][v][top][bottom][index][help] */
 119                                const char *name,
 120                                const struct winbindd_domain *r)
 121 {
 122         if (!r) {
 123                 return;
 124         }
 125 
 126         ndr_print_struct(ndr, name, "winbindd_domain");
 127         ndr->depth++;
 128         ndr_print_string(ndr, "name", r->name);
 129         ndr_print_string(ndr, "alt_name", r->alt_name);
 130         ndr_print_string(ndr, "forest_name", r->forest_name);
 131         ndr_print_dom_sid(ndr, "sid", &r->sid);
 132         ndr_print_netr_TrustFlags(ndr, "domain_flags", r->domain_flags);
 133         ndr_print_netr_TrustType(ndr, "domain_type", r->domain_type);
 134         ndr_print_netr_TrustAttributes(ndr, "domain_trust_attribs", r->domain_trust_attribs);
 135         ndr_print_bool(ndr, "initialized", r->initialized);
 136         ndr_print_bool(ndr, "native_mode", r->native_mode);
 137         ndr_print_bool(ndr, "active_directory", r->active_directory);
 138         ndr_print_bool(ndr, "primary", r->primary);
 139         ndr_print_bool(ndr, "internal", r->internal);
 140         ndr_print_bool(ndr, "online", r->online);
 141         ndr_print_time_t(ndr, "startup_time", r->startup_time);
 142         ndr_print_bool(ndr, "startup", r->startup);
 143         ndr_print_winbindd_methods(ndr, "methods", r->methods);
 144         ndr_print_winbindd_methods(ndr, "backend", r->backend);
 145         ndr_print_ptr(ndr, "private_data", r->private_data);
 146         ndr_print_string(ndr, "dcname", r->dcname);
 147         ndr_print_sockaddr_storage(ndr, "dcaddr", &r->dcaddr);
 148         ndr_print_time_t(ndr, "last_seq_check", r->last_seq_check);
 149         ndr_print_uint32(ndr, "sequence_number", r->sequence_number);
 150         ndr_print_NTSTATUS(ndr, "last_status", r->last_status);
 151         ndr_print_winbindd_cm_conn(ndr, "conn", &r->conn);
 152         ndr_print_winbindd_child(ndr, "child", &r->child);
 153         ndr_print_uint32(ndr, "check_online_timeout", r->check_online_timeout);
 154         ndr_print_ptr(ndr, "check_online_event", r->check_online_event);
 155         ndr->depth--;
 156 }

/* [<][>][^][v][top][bottom][index][help] */