libcli/security: Move dup_nt_token() to libcli/security
[samba.git] / source3 / lib / substitute.h
1 /*
2    Unix SMB/CIFS implementation.
3    string substitution functions
4    Copyright (C) Andrew Tridgell 1992-2000
5    Copyright (C) Gerald Carter   2006
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #ifndef SUBSTITUTE_H
22 #define SUBSTITUTE_H
23
24 void set_remote_proto(const char *proto);
25 bool set_local_machine_name(const char *local_name, bool perm);
26 const char *get_local_machine_name(void);
27 bool set_remote_machine_name(const char *remote_name, bool perm);
28 const char *get_remote_machine_name(void);
29 void sub_set_socket_ids(const char *peeraddr, const char *peername,
30                         const char *sockaddr);
31 void set_current_user_info(const char *smb_name,
32                            const char *unix_name,
33                            const char *domain);
34 const char *get_current_username(void);
35 const char *get_current_user_info_domain(void);
36 void standard_sub_basic(const char *smb_name,
37                         const char *domain_name,
38                         char *str,
39                         size_t len);
40 char *talloc_sub_basic(TALLOC_CTX *mem_ctx,
41                         const char *smb_name,
42                         const char *domain_name,
43                         const char *str);
44 char *talloc_sub_specified(TALLOC_CTX *mem_ctx,
45                         const char *input_string,
46                         const char *username,
47                         const char *grpname,
48                         const char *domain,
49                         uid_t uid,
50                         gid_t gid);
51 char *talloc_sub_advanced(TALLOC_CTX *ctx,
52                         const char *servicename,
53                         const char *user,
54                         const char *connectpath,
55                         gid_t gid,
56                         const char *str);
57 char *talloc_sub_full(TALLOC_CTX *ctx,
58                         const char *servicename,
59                         const char *user,
60                         const char *connectpath,
61                         gid_t gid,
62                         const char *smb_name,
63                         const char *domain_name,
64                         const char *str);
65 #endif