import from HEAD:
[freeradius.git] / src / modules / rlm_smb / smblib.h
1 /* UNIX SMBlib NetBIOS implementation
2
3    Version 1.0
4    SMBlib Defines
5
6    Copyright (C) Richard Sharpe 1996
7
8 */
9
10 /*
11    This program is free software; you can redistribute it and/or modify
12    it under the terms of the GNU General Public License as published by
13    the Free Software Foundation; either version 2 of the License, or
14    (at your option) any later version.
15
16    This program is distributed in the hope that it will be useful,
17    but WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19    GNU General Public License for more details.
20
21    You should have received a copy of the GNU General Public License
22    along with this program; if not, write to the Free Software
23    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25
26 #include "std-defines.h"
27 #include "smblib-common.h"
28
29 /* Just define all the entry points */
30
31 /* Create a handle to allow us to set/override some parameters ...       */
32
33 void *SMB_Create_Con_Handle();
34
35 /* Connect to a server, but do not do a tree con etc ... */
36
37 void *SMB_Connect_Server(void *Con, char *server, char *NTdomain);
38
39 /* Connect to a server and give us back a handle. If Con == NULL, create */
40 /* The handle and populate it with defaults                              */
41
42 void *SMB_Connect(void *Con, void **tree,
43                   char *name, char *User, char *Password);
44
45 /* Negotiate a protocol                                                  */
46
47 int SMB_Negotiate(void *Con_Handle, char *Prots[]);
48
49 /* Connect to a tree ...                                                 */
50
51 void *SMB_TreeConnect(void *con_handle, void *tree_handle,
52                       char *path, char *password, char *dev);
53
54 /* Disconnect a tree ...                                                 */
55
56 int SMB_TreeDisconect(void *tree_handle);
57
58 /* Open a file                                                           */
59
60 void *SMB_Open(void *tree_handle,
61                void *file_handle,
62                char *file_name,
63                unsigned short mode,
64                unsigned short search);
65
66 /* Close a file                                                          */
67
68 int SMB_Close(void *file_handle);
69
70 /* Disconnect from server. Has flag to specify whether or not we keep the */
71 /* handle.                                                                */
72
73 int SMB_Discon(void *Con, BOOL KeepHandle);
74
75 void *SMB_Create(void *Tree_Handle,
76                void *File_Handle,
77                char *file_name,
78                short search);
79
80 int SMB_Delete(void *tree, char *file_name, short search);
81
82 int SMB_Create_Dir(void *tree, char *dir_name);
83
84 int SMB_Delete_Dir(void *tree, char *dir_name);
85
86 int SMB_Check_Dir(void *tree, char *dir_name);
87
88 int SMB_Get_Last_Error();
89
90 int SMB_Get_Last_SMB_Err();
91
92 int SMB_Get_Error_Msg(int msg, char *msgbuf, int len);
93
94 void *SMB_Logon_And_TCon(void *con, void *tree, char *user, char *pass,
95                          char *service, char *st);
96
97 #define SMBLIB_DEFAULT_DOMAIN "anydom"