/ src / frameworks / NetFS / include / NetFS / NetFS.h
NetFS.h
 1  /*
 2   This file is part of Darling.
 3  
 4   Copyright (C) 2021 Lubos Dolezel
 5  
 6   Darling 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   Darling 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 Darling.  If not, see <http://www.gnu.org/licenses/>.
18  */
19  
20  #ifndef _NetFS_H_
21  #define _NetFS_H_
22  
23  #include <sys/types.h>
24  
25  void* GetCompleteMountURL(void);
26  void* GetURLFromURLRemountInfo(void);
27  void* GetURLRemountInfo(void);
28  void* GetURLRemountInfoSize(void);
29  void* MountCompleteURL(void);
30  void* MountServerURL(void);
31  void* MountURLWithAuthentication(void);
32  void* NetFSCFStringtoCString(void);
33  void* NetFSClearAllURLApprovals(void);
34  void* NetFSCopyHostAndPort(void);
35  void* NetFSCopyNormalizedURLString(void);
36  void* NetFSCopyURLForRemountingVolume(void);
37  void* NetFSGetMountInfo(void);
38  void* NetFSGetMountInfoByFSID(void);
39  void* NetFSGetSupportedSchemes(void);
40  void* NetFSGetURLApprovalState(void);
41  void* NetFSInterface_AddRef(void);
42  void* NetFSInterface_Release(void);
43  void* NetFSLogToMessageTracer(void);
44  void* NetFSMountURLAsync(void);
45  void* NetFSMountURLCancel(void);
46  void* NetFSMountURLProbe(void);
47  void* NetFSMountURLSync(void);
48  void* NetFSMountURLWithAuthenticationSync(void);
49  void* NetFSQueryInterface(void);
50  void* NetFSSetURLApprovalState(void);
51  void* NetFS_CreateInterface(void);
52  void* PremountHomeDirectoryWithAuthentication(void);
53  void* RemountInfoQueryInterface(void);
54  void* UnmountServerURL(void);
55  void* netfs_Cancel(void);
56  void* netfs_CancelAsyncMount(void);
57  void* netfs_CloseSession(void);
58  void* netfs_ConnectToServerAsync(void);
59  void* netfs_ConnectToServerSync(void);
60  void* netfs_CreateSessionRef(void);
61  void* netfs_CreateURL(void);
62  void* netfs_EnumerateShares(void);
63  void* netfs_GetServerInfo(void);
64  void* netfs_Mount(void);
65  void* netfs_MountURLWithAuthenticationAsync(void);
66  void* netfs_MountURLWithAuthenticationSync(void);
67  void* netfs_OpenSession(void);
68  void* netfs_ParseURL(void);
69  void* netfs_log_message_tracer(void);
70  void* netfs_log_message_tracer_auth_type(void);
71  void* netfs_log_message_tracer_automounted(void);
72  void* netfs_log_message_tracer_executable_name(void);
73  void* netfs_log_message_tracer_result(void);
74  void* netfs_log_message_tracer_result_on_fail(void);
75  void* netfs_log_message_tracer_scheme(void);
76  
77  int NetFSUnmountHomeDirectory(const char* home, const char* path, uid_t uid, int flags /* unsure */);
78  int NetFSMountHomeDirectoryWithAuthentication(const char* url, const char* home, const char* path, uid_t uid, size_t mount_dir_length, const char* mount_dir, const char* username, const char* authenticator, int flags, unsigned int* out_was_remounted);
79  
80  enum {
81  	// no clue what the real value is
82  	kNetFSAllowKerberos = 1,
83  };
84  
85  #endif