Open Files 5.3.0
Multi-Platform Event-Driven Application Framework
framework.h
Go to the documentation of this file.
1 /* Copyright (c) 2022 Connected Way, LLC.
2  * All rights reserved.
3  *
4  * This software is protected by copyright and intellectual
5  * property laws as well as international treaties. It is to be
6  * used and copied only by authorized licensees under the
7  * conditions described in their licenses.
8  *
9  * Title to and ownership of the software shall at all times
10  * remain with Connecetd Way.
11  */
12 #if !defined(__SMB_FRAMEWORK_H__)
13 #define __SMB_FRAMEWORK_H__
14 
15 #include "ofc/types.h"
16 #include "ofc/config.h"
17 #include "ofc/core.h"
18 #include "ofc/path.h"
19 #include "ofc/file.h"
20 #include "ofc/net.h"
21 
22 #include "of_smb/smb.h"
23 #include "of_smb/persist.h"
24 
61 typedef struct
62 {
63  SMB_CONFIG_EXPORT_TYPE exportType ;
69 } OF_SMB_EXPORT ;
70 
74 typedef struct
75 {
79 
83 typedef struct
84 {
89 } OF_SMB_AUTH ;
90 
94 typedef struct
95 {
98 } OF_SMB_AUTHS ;
99 
103 typedef struct
104 {
108 } OF_SMB_REMOTE ;
109 
113 typedef struct
114 {
117 } OF_SMB_REMOTES ;
118 
122 #define SERVER_EVENT_INFO 0
126 #define SERVER_EVENT_ERROR 1
130 #define SERVER_EVENT_SECURITY 2
131 
132 #if defined(__cplusplus)
133 extern "C"
134 {
135 #endif
144 OF_SMB_LIB OFC_VOID
146 
155 OF_SMB_LIB OFC_VOID
157 
168 OF_SMB_LIB OFC_VOID
183 OF_SMB_LIB OFC_VOID
185 
186 #if defined(OF_SMB_SERVER)
187 OF_SMB_LIB OFC_VOID
188 of_smb_set_authentication_mode (SMB_CONFIG_AUTH_MODE mode);
189 
190 OF_SMB_LIB OFC_LPTSTR of_smb_get_root_dir(OFC_VOID);
191 OF_SMB_LIB OFC_VOID ofc_smb_free_root_dir (OFC_LPTSTR str);
192 OF_SMB_LIB OF_SMB_EXPORTS *of_smb_get_exports (OFC_VOID);
193 OF_SMB_LIB OFC_VOID of_smb_free_exports (OF_SMB_EXPORTS *exports);
194 OF_SMB_LIB OFC_VOID of_smb_remove_export (OFC_LPCTSTR tszExport);
195 OF_SMB_LIB OFC_VOID of_smb_add_export (OF_SMB_EXPORT *export);
196 
197 OF_SMB_LIB OF_SMB_AUTHS *of_smb_get_auths (OFC_VOID);
198 OF_SMB_LIB OFC_VOID of_smb_free_auths (OF_SMB_AUTHS *auths);
199 OF_SMB_LIB OFC_VOID of_smb_remove_auth (OFC_LPCSTR szRealm);
200 OF_SMB_LIB OFC_VOID of_smb_add_auth (OF_SMB_AUTH *auth);
201 OF_SMB_LIB OFC_HANDLE of_smb_startup_server(OFC_HANDLE hScheduler);
202 OF_SMB_LIB OFC_VOID of_smb_shutdown_server(OFC_HANDLE hApp);
203 #endif
263 OF_SMB_LIB OFC_VOID of_smb_set_max_version(OFC_UINT maxVersion);
307 OF_SMB_LIB OFC_BOOL of_smb_get_server_enabled (OFC_VOID) ;
312 OF_SMB_LIB OFC_BOOL of_smb_get_server_wake (OFC_VOID) ;
317 OF_SMB_LIB OFC_TCHAR *of_smb_get_server_username (OFC_VOID) ;
322 OF_SMB_LIB OFC_TCHAR *of_smb_get_server_password (OFC_VOID) ;
327 OF_SMB_LIB OFC_VOID of_smb_set_server_enabled (OFC_BOOL on) ;
332 OF_SMB_LIB OFC_VOID of_smb_set_server_wake (OFC_BOOL on) ;
337 OF_SMB_LIB OFC_VOID of_smb_set_server_username (OFC_LPTSTR tstrName) ;
342 OF_SMB_LIB OFC_VOID of_smb_set_server_password(OFC_LPTSTR tstrPass) ;
358 OF_SMB_LIB OFC_INT of_smb_kinit (OFC_CHAR *principal, OFC_CHAR *password) ;
370 OF_SMB_LIB OFC_INT of_smb_kacquire (OFC_CHAR *fqdn, OFC_CHAR *keytab);
375 OF_SMB_LIB OFC_INT of_smb_krelease (OFC_VOID);
399 OF_SMB_LIB OFC_INT of_smb_get_max_events(OFC_VOID) ;
403 OF_SMB_LIB OFC_LONG of_smb_get_time_period(OFC_VOID);
407 OF_SMB_LIB OFC_VOID of_smb_set_max_events(OFC_INT maxEvents);
411 OF_SMB_LIB OFC_VOID of_smb_set_time_period(OFC_LONG timePeriod);
438 
439 /*
440  * callOnServerEvent is defined in com_connectedway_smb_Smb.c. But it is
441  * not technically a JNI binding. Instead it is code to call a java class.
442  * It cannot be declared in the corresponding .h file since those are generated
443  * files. We'll declare it here.
444  */
445 
446 
450 void callOnServerEvent (int event, OFC_CCHAR * message) ;
451 
455 OFC_VOID
456 smb_log_salt(OFC_CHAR *heading, OFC_UCHAR *salt, OFC_UINT salt_length);
457 
478  OFC_IPADDR *ip);
479 #if defined(__cplusplus)
480 }
481 #endif
483 #endif
OFC_DWORD_PTR OFC_HANDLE
Definition: handle.h:43
OF_SMB_LIB OFC_INT of_smb_kdestroy(OFC_VOID)
OF_SMB_LIB OFC_BOOL of_smb_test_dialect(OFC_UINT dialect)
OF_SMB_LIB OFC_CHAR * of_smb_kactive_user(OFC_VOID)
OFC_VOID of_smb_resolve_name(OFC_LPCSTR name, OFC_UINT16 *num_addrs, OFC_IPADDR *ip)
OF_SMB_LIB OFC_VOID of_smb_shutdown(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_get_bootstrap_dcs(OFC_UINT *count, OFC_CHAR ***dc)
OF_SMB_LIB OFC_INT of_smb_kinit(OFC_CHAR *principal, OFC_CHAR *password)
OF_SMB_LIB OFC_VOID of_smb_init(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_free_remotes(OF_SMB_REMOTES *remotes)
OF_SMB_LIB OFC_UINT of_smb_get_max_version(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_add_remote(OF_SMB_REMOTE *remote)
OF_SMB_LIB OFC_VOID of_smb_set_max_version(OFC_UINT maxVersion)
OF_SMB_LIB OF_SMB_REMOTES * of_smb_get_remotes(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_remove_remote(OFC_LPCTSTR name)
OF_SMB_LIB OFC_VOID of_smb_enable_dialect(OFC_UINT dialect)
OF_SMB_LIB OFC_CHAR * of_smb_kactive(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_destroy(OFC_VOID)
OF_SMB_LIB OFC_VOID of_smb_disable_dialect(OFC_UINT dialect)
OF_SMB_LIB OFC_VOID of_smb_startup(OFC_HANDLE hScheduler)
OF_SMB_LIB OFC_VOID of_smb_set_bootstrap_dcs(OFC_UINT count, OFC_CHAR **dc)
Definition: framework.h:95
OF_SMB_AUTH * auth
Definition: framework.h:97
OFC_UINT16 numAuths
Definition: framework.h:96
Definition: framework.h:84
OFC_LPSTR realm
Definition: framework.h:86
OFC_LPSTR fqdn
Definition: framework.h:87
OFC_LPSTR keytab
Definition: framework.h:88
OFC_BOOL enabled
Definition: framework.h:85
Definition: framework.h:75
OFC_UINT16 numExports
Definition: framework.h:76
OF_SMB_EXPORT * exp
Definition: framework.h:77
Definition: framework.h:62
OFC_LPTSTR path
Definition: framework.h:65
OFC_LPTSTR share
Definition: framework.h:64
OFC_LPTSTR description
Definition: framework.h:66
OFC_BOOL encrypted
Definition: framework.h:68
OFC_LPTSTR native_fs
Definition: framework.h:67
SMB_CONFIG_EXPORT_TYPE exportType
Definition: framework.h:63
Definition: framework.h:114
OF_SMB_REMOTE * remote
Definition: framework.h:116
OFC_UINT16 numRemotes
Definition: framework.h:115
Definition: framework.h:104
OFC_LPTSTR name
Definition: framework.h:105
OFC_LPTSTR ip
Definition: framework.h:106
OFC_UINT16 port
Definition: framework.h:107
unsigned char OFC_UCHAR
Definition: types.h:155
void OFC_VOID
Definition: types.h:159
OFC_CHAR * OFC_LPSTR
Definition: types.h:418
const OFC_CHAR OFC_CCHAR
Definition: types.h:414
const OFC_TCHAR * OFC_LPCTSTR
Definition: types.h:498
OFC_UINT8 OFC_BOOL
Definition: types.h:624
long OFC_LONG
Definition: types.h:163
unsigned int OFC_UINT
Definition: types.h:123
OFC_TCHAR * OFC_LPTSTR
Definition: types.h:490
OFC_WCHAR OFC_TCHAR
Definition: types.h:463
char OFC_CHAR
Definition: types.h:143
const OFC_CHAR * OFC_LPCSTR
Definition: types.h:422
int OFC_INT
Definition: types.h:119
unsigned short int OFC_UINT16
Definition: types.h:183