Home |
SMB3 Server |
SMB3 ServerSMB (Server Message Block) is a protocol designed by Microsoft to allow networked computers to share files. Microsoft uses SMB to allow Windows machines to make resources such as disk trees (SMB name for directories) available to others on the network. The SMB3 Server supports SMB protocol versions 1, 2, and 3.1.1. When a connection from an SMB client comes in, the server will negociate which protocol versions are available on both sides and then use the highest possible version. The SMB3 Server allows an On Time RTOS-32 embedded system to publish network directories such that other computers on the network can access files on them. Client computers can either be Windows PCs or other computer with SMB client software installed (i.e. Samba or the On Time RTOS-32 SMB3 Client). Full user authentication is supported to restrict usage to no access, read-only, or read-write permission. The SMB3 Server uses the Win32 Unicode file I/O API to access local files (CreateFileW, etc). RTTarget-32's RTFileSystemList determines which file system will implement this share (i.e., RTFiles-32 or the RTTarget-32 RAM file system). The code page applied to file names is determined by calls to SetFileApisToOEM, SetFileApisToANSI, or RTSetFileApisTo and the RTFiles-32 functions RTFSetCodePageUTF8, RTFSetCodePageANSI, and RTFSetCodePageUTF8. The default for RTTarget-32 and RTFiles-32 is OEM. If characters not included in the OEM code page are required, it is recommended to use UTF8. Example// to fully support Unicode file names, we will enable UTF-8 // note that this requires this application to use UTF-8 for all file names! RTFSetCodePageUTF8(); // tell the file system to use UTF-8 RTSetFileApisTo(CP_UTF8, NULL); // tell RTTarget-32 to use UTF-8 Applications requiring the SMB3 Server must include header file Smb3sapi.h and link library Smb3s.lib. The SMB3 Server API is documented in the RTIP-32 Reference Manual. Demo program SMB3Server shows how the SMB server is configured and used. The SMB3 Server is based on the NQE product from Visuality Systems Ltd., ported to On Time RTOS-32. It may not be used under operating systems other than On Time RTOS-32.
|