2011-05-31 02:23:46 +04:00
/*
* Unix SMB / CIFS implementation .
* ID Mapping
*
* Copyright ( C ) Tim Potter 2000
* Copyright ( C ) Jim McDonough < jmcd @ us . ibm . com > 2003
* Copyright ( C ) Simo Sorce 2003 - 2007
* Copyright ( C ) Jeremy Allison 2006
* Copyright ( C ) Michael Adam 2009 - 2010
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2011-05-31 02:25:05 +04:00
# ifndef _WINBINDD_IDMAP_PROTO_H_
# define _WINBINDD_IDMAP_PROTO_H_
2011-05-31 02:23:46 +04:00
2010-08-18 20:13:42 +04:00
/* The following definitions come from winbindd/idmap.c */
bool idmap_is_offline ( void ) ;
NTSTATUS smb_register_idmap ( int version , const char * name ,
2019-03-21 14:30:37 +03:00
const struct idmap_methods * methods ) ;
2010-08-18 20:13:42 +04:00
void idmap_close ( void ) ;
NTSTATUS idmap_allocate_uid ( struct unixid * id ) ;
NTSTATUS idmap_allocate_gid ( struct unixid * id ) ;
2016-03-04 17:03:08 +03:00
NTSTATUS idmap_backend_unixids_to_sids ( struct id_map * * maps ,
2017-09-25 16:39:39 +03:00
const char * domain_name ,
struct dom_sid domain_sid ) ;
2016-12-29 12:54:56 +03:00
struct idmap_domain * idmap_find_domain ( const char * domname ) ;
2010-08-18 20:13:42 +04:00
/* The following definitions come from winbindd/idmap_nss.c */
2017-04-20 22:24:43 +03:00
NTSTATUS idmap_nss_init ( TALLOC_CTX * mem_ctx ) ;
2010-08-18 20:13:42 +04:00
/* The following definitions come from winbindd/idmap_passdb.c */
2017-04-20 22:24:43 +03:00
NTSTATUS idmap_passdb_init ( TALLOC_CTX * mem_ctx ) ;
2010-08-18 20:13:42 +04:00
/* The following definitions come from winbindd/idmap_tdb.c */
2017-04-20 22:24:43 +03:00
NTSTATUS idmap_tdb_init ( TALLOC_CTX * mem_ctx ) ;
2010-08-18 20:13:42 +04:00
/* The following definitions come from winbindd/idmap_util.c */
bool idmap_unix_id_is_in_range ( uint32_t id , struct idmap_domain * dom ) ;
2013-02-21 23:30:48 +04:00
struct id_map * idmap_find_map_by_id ( struct id_map * * maps , enum id_type type ,
uint32_t id ) ;
struct id_map * idmap_find_map_by_sid ( struct id_map * * maps , struct dom_sid * sid ) ;
2013-02-21 23:31:19 +04:00
char * idmap_fetch_secret ( const char * backend , const char * domain ,
const char * identity ) ;
2013-02-21 23:30:48 +04:00
2016-03-04 16:23:51 +03:00
struct id_map * * id_map_ptrs_init ( TALLOC_CTX * mem_ctx , size_t num_ids ) ;
2013-02-21 23:30:48 +04:00
/* max number of ids requested per LDAP batch query */
# define IDMAP_LDAP_MAX_IDS 30
2011-05-31 02:25:05 +04:00
2017-04-20 22:24:43 +03:00
NTSTATUS idmap_ad_nss_init ( TALLOC_CTX * mem_ctx ) ;
2016-03-29 17:03:04 +03:00
2011-05-31 02:25:05 +04:00
# endif /* _WINBINDD_IDMAP_PROTO_H_ */