root/source4/rpc_server/samr/dcesrv_samr.h

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

INCLUDED FROM


   1 /* 
   2    Unix SMB/CIFS implementation.
   3 
   4    endpoint server for the samr pipe - definitions
   5 
   6    Copyright (C) Andrew Tridgell 2004
   7    
   8    This program is free software; you can redistribute it and/or modify
   9    it under the terms of the GNU General Public License as published by
  10    the Free Software Foundation; either version 3 of the License, or
  11    (at your option) any later version.
  12    
  13    This program is distributed in the hope that it will be useful,
  14    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16    GNU General Public License for more details.
  17    
  18    You should have received a copy of the GNU General Public License
  19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  20 */
  21 
  22 #include "param/param.h"
  23 
  24 /*
  25   this type allows us to distinguish handle types
  26 */
  27 enum samr_handle {
  28         SAMR_HANDLE_CONNECT,
  29         SAMR_HANDLE_DOMAIN,
  30         SAMR_HANDLE_USER,
  31         SAMR_HANDLE_GROUP,
  32         SAMR_HANDLE_ALIAS
  33 };
  34 
  35 
  36 /*
  37   state asscoiated with a samr_Connect*() operation
  38 */
  39 struct samr_connect_state {
  40         void *sam_ctx;
  41         uint32_t access_mask;
  42 };
  43 
  44 /*
  45   state associated with a samr_OpenDomain() operation
  46 */
  47 struct samr_domain_state {
  48         struct samr_connect_state *connect_state;
  49         void *sam_ctx;
  50         uint32_t access_mask;
  51         struct dom_sid *domain_sid;
  52         const char *domain_name;
  53         struct ldb_dn *domain_dn;
  54         enum server_role role;
  55         bool builtin;
  56         struct loadparm_context *lp_ctx;
  57 };
  58 
  59 /*
  60   state associated with a open account handle
  61 */
  62 struct samr_account_state {
  63         struct samr_domain_state *domain_state;
  64         void *sam_ctx;
  65         uint32_t access_mask;
  66         struct dom_sid *account_sid;
  67         const char *account_name;
  68         struct ldb_dn *account_dn;
  69 };

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