SMB

SMB2

SMB3

CIFS

SMB Implementierung für eingebettete Geräte

YNQ™

YNQ™ ist ein SMB Client und eine SMB Server Lösung und wurde entwickelt, um Kompatibilität für nicht-Windows Firmware mit Windows basierten Geräten zu gewährleisten.

Um weitere Informationen herunterzuladen, klicken Sie hier

YNQ™ ist integrierbar in z.B. Betriebssysteme, CPU's oder Compiler und kompatibel mit Microsoft SMB/SMB2/SMB3-Ausführungen und unterstützt die neusten SMB-Dialekte. Einmal in einem Windowsnetzwerk implementiert, erlangt das Produkt Zugang zum Netzwerk, welcher dem Benutzer einen unbegrenzten Datenaustausch ermöglicht.

Als weltweit führende eingebettete SMB-Solution, stellt der non-GPL SMB Stack eine starke Alternative zur Open Source Samba dar und entspricht den Anforderungen des Weltmarktes.

YNQ™ wird in Millionen von eingebetteten Geräten ausgeführt, wie Scanner, Drucker, Router, mobile Geräte, Röntgenmaschinen, Automatisierungsgeräte, in der Luft- und Raumfahrttechnik und in so gut wie jedem Gerät, welches unbegrenzten Datenaustausch in einem Windows-Netzwerk erfordert.

YNQ™ kann ebenfalls das veraltete SMB1 durch den Neusten SMB-Dialekt von vorhandenen Windows-Systemen wie Win XP, Server 2000 und Server 2003 ersetzen. Durch das Entfernen von SMB1 und die Installierung eines verschlüsselten Stacks werden Risiken ausgeschlossen.

YNQ™ Architekturebenen

Die blau dargestellten Komponenten sind systemunabhängig, während die beigefarbenen Komponenten entweder während der Portierung oder der Integration geändert werden können.

YNQ™ Core

NQ-Komponente

YNQ™ kann als SMB-Server, SMB-Client oder NetBios-Dämon betrachtet werden.

NQ Components

Die YNQ™ Datenfreigabe ermöglicht diversen eingebetteten Geräten die freigegebenen SMB-Ordner der Gegenstelle einzeln zu durchsuchen und die jeweils anderen Dateien zu lesen, zu bearbeiten, zu kopieren, zu löschen und zu aktualisieren, ohne diese zuvor zu kopieren oder auf die lokale Festplatte übertragen zu müssen.

Die neuste YNQ™ Version 2.00 ist nun für die Integration verfügbar. Diese Version unterstützt SMB 3.1.1, welche einen verbesserten Schutz durch die neusten Erweiterungen wie Pre Logon Integrity bietet.

Der Erwerb des kommerziellen non-GPL YNQ™ Netzwerk-Stacks ermöglicht es unseren Kunden, Zeit und Geld für teure Forschung und Entwicklung zu sparen und sich auf ihre Kerntechnologie zu konzentrieren.

 

YNQ™ Anwendungen

  • Scanners und MFPs
  • Routers and Gateways
  • Fernseher und Setup-Boxen
  • Kameras
  • Medienspieler
  • Smartphones and tablets
  • Industrieroboter
  • Flugzeuge
  • Medizinische Geräte

YNQ™ Märkte

  • Verbrauchergeräte
  • Unternehmen
  • Medizinische Branche
  • Industrielle Automatisierung
  • Luft- und Raumfahrt
  • Intelligente Geräte

Ziel YNQ™ OS

  • VxWorks
  • Linux
  • Integrity
  • Windows
  • ThreadX
  • QNX
  • iOS
  • Android
  • Nucleus
  • Jedes Betriebssystem auf Anfrage

YNQ™ Highlights

  • Portabel für jede Plattform
  • Hardware-unabhängig
    – läuft auf jedem Prozessor
  • Kleiner Fußabdruck
  • Schnelle Leistung
  • In hohem Grade kundengerecht
  • Die vollständigste CIFS/ SMB-Implementierung auf dem Markt
  • ANSI C Quellcode

YNQ™ Code examples

Mount


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
 

Open, read, write and delete file


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Create a file on a remote share
NQ_HANDLE fileHandle = ccCreateFileA("\\mountPoint\\file.txt",
                                FILE_AM_WRITE,
                                FILE_SM_EXCLUSIVE,
                                FILE_LCL_UNKNOWN,
                                FALSE,
                                0,
                                FILE_CA_CREATE,
                                FILE_OA_FAIL
                                );
NQ_BYTE data[DATA_SIZE];
NQ_UINT dataSize = DATA_SIZE;
NQ_UINT writtenSize, readSize;
// Write to remote file 
ccWriteFile(fileHandle, data, dataSize, &writtenSize);
// Read from a remote file 
ccReadFile(fileHandle, data, dataSize, &readSize);
// Close file handle 
ccCloseHandle(fileHandle);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Delete file by name


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Browsing directory


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Open a directory on remote share
FindFileDataA_t fileData;
NQ_HANDLE dirHandle = ccFindFirstFileA("\\\\192.168. 19.1\\sharedFolder\\*", &fileData, 0);
if (dirHandle != NULL)
{
    // Get next file in the directory
    while (ccFindNextFileA(dirHandle, &fileData))
    {
        printf("Filename: %s, fileSize:%u \n", fileData.fileName, fileData.allocationSizeLow);
    }
    // Close directory handle
    ccFindClose(dirHandle);
}
 

Visuality Systems developed a Java based product. JCIFS is a Java SMB solution that support SMB1 with no further support in SMB2 or SMB3 protocols. JCIFS latest update was in 2014 and therefore the Visuality Systems SMB code written in Java is a good alternative for the open source JCIFS.