SMB

SMB2

SMB3

CIFS

YNQ™ SMB Library For Embedded Devices

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. YNQ™ File-Sharing ermöglicht es mehreren Embedded-Geräten, die gemeinsamen SMB-Ordner des anderen aus der Ferne zu durchsuchen sowie die Dateien des anderen zu lesen, zu schreiben, zu bearbeiten, zu kopieren, zu löschen und zu aktualisieren. Alle Operationen können ausgeführt werden, ohne dass die gesamte Datei auf die lokale Festplatte oder den lokalen Speicher des jeweiligen Geräts übertragen werden muss.

Um weitere Informationen hinsichtlich YNQ™ herunterzuladen, klicken Sie hier.

Während Desktop-Computer und -Server unter Windows und Macintosh auf native Weise von der SMB-Konnektivität profitieren, stellt sich die Situation in der Embedded-Welt komplizierter dar. Ein Gerät kann für Linux/Unix oder einem RTOS konzipiert werden, denen eine SMB-Lösung, wie z. B. VxWorks, ThreadX, Integrity, QNX, fehlt oder beliebige andere, die aus unterschiedlichsten RTOS oder Betriebssystemen, wie z. B. iOS, Windows CE usw., bestehen.

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™ Produkte und Komponenten

Als modulare Bibliothek setzt sich YNQ™ aus vier verschiedenen Produkten zusammen:

  1. Pure Client - grundlegende SMB-Client-Funktionalität
  2. Corporate Client - fügt die Möglichkeit hinzu, die Maschine für das Active Directory des Unternehmens zu registrieren
  3. Standalone-Server - grundlegende SMB-Serverfunktionen
  4. Corporate Server - fügt die Fähigkeit hinzu, den Server im Active Directory des Unternehmens zu registrieren und besitzt die Fähigkeit für die weiterleitende Echtheitsbestätigung.

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

YNQ™-Architekturebenen

YNQ™ ist Teil einer modernen Softwarestruktur, die in drei Modularitätsstufen unterteilt ist:

  • Hoch: API/Protokollebene – APIsAPIs (NQ), Server, Client, NetBIOS
  • Mittel: Service-Ebene – authentication, common, network
  • Niedrig: BS-Ebene – Authentifizierung, gemeinsam, Netzwerk

Architecture Layers

Die Komponenten in Level 1 und 2 sind systemunabhängige Komponenten, während die Komponenten in Level 3 entweder während der Portierung oder der Integration angepasst werden können.

YNQ™ ist das Flaggschiff-Produkt von Visuality Systems Ltd. Bei seiner Einführung im Jahr 1999 trug es den Namen CIFS NQ und wurde 2014 in NQE™ umbenannt. YNQ™ repräsentiert die neue Generation der NQ-Produktfamilie, die 2019 auf den Markt kam und nach der Agile-Methodik entwickelt wurde. YNQ™ konnte den Marktanteil deutlich erhöhen, was durch eine kontinuierliche Entwicklung bei der Zunahme der SMB-Nutzung sowie der hochgeschätzten und vertrauenswürdigen Beziehung von Visuality Systems zur Microsoft Corporation ermöglicht wurde.

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

YNQ™ steht nun für die Integration zur Verfügung. 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 und Gateways
  • Fernseher und Setup-Boxen
  • Kameras
  • Medienspieler
  • Smart phones und tablets
  • Industrieroboter
  • Flugzeuge
  • Medizinische Geräte

YNQ™-Märkte

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

Ziel YNQ™ BS

  • VxWorks
  • Linux
  • Integrity
  • Windows
  • ThreadX
  • Nucleus
  • iOS
  • Android
  • Itron
  • QNX
  • Beliebiges BS auf Anfrage

YNQ™ Highlights

  • Portabel für jede Plattform
  • Unabhängige Hardware – kann auf jedem Prozessor ausgeführt werden
  • Kleiner Fußabdruck
  • Schnelle Leistung
  • In hohem Grade kundengerecht
  • Die vollständigste CIFS/ SMB-Implementierung auf dem Markt
  • ANSI C Quellcode

Compliance und Konnektivität

YNQ™ entspricht vollständig den SMB-/SMB2-/SMB3-Spezifikationen von Microsoft, und unterstützt alle SMB Dialekte, von NTLM 0.12 bis 3.1.1. Dies gewährleistet die Konnektivität zu allen Client-Versionen von Microsoft, Apple Macintosh und Samba.

YNQ™ Code-Beispiele

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.

Follow Us

News

May 06, 2019

Visuality Systems has announced the release of the new generation Embedded NQ product - YNQ™. Developed under Agile methodology YNQ™ offers customers a shorter time to Market with an upgraded modular design allowing for straight-forward integration to any embedded device.

 

 March 08, 2019

Visuality Systems Visuality Systems announces the release of the latest version of jNQ, the Java SMB client library, version 1.0.2-br-5.  This version includes a number of new features: internal packet capture including IPv6, DNS and Netbios traffic, an enhanced mount command, and an enhanced directory lookup with pattern matching. In addition, many bugs have been fixed.

 

 November 26, 2018

Visuality Systems announces the transition to the Agile Development System which part of the many advantages include delivery of fully tested Visuality updates in a very short time cycle. Furthermore, Visuality Systems has established an online Help Desk that offers a simple and efficient customer interaction with the Visuality Systems technical support team

Helpdesk Registration

 

 November 06, 2018

Visuality Systems will be a sponsor at the SDC EMEA conference to be held at the Sheraton hotel, Tel-Aviv, Israel on January 30. The event will be co-located with an SMB3 testing Plugfest held on January 28-31.

See Link

 

   August 12, 2018

Windows XP and Server 2003 users can now seamlessly upgrade from the now-defunct SMB1 stack to the encrypted up to date SMB3 protocol with the latest NQE Server. 

 

  July 31, 2018

Visuality Systems has released jNQ™ 1.0.1 adding security features and performance improvements to the SMB3.1.1 NQ Java library.