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