Introduction
BIGSPEED File Sharing SDK includes two COM automation objects (client and server) that dramatically simplify
and accelerate the development of private file sharing solutions over the Internet.
In addition to standard FTP operations, such as upload, download, rename, delete, etc.,
the library also offers a number of advanced features which
give the local application full control over the remote files.
The client is able to open seekable streams on the server,
either in read-only or read-write access mode. The application can
seek, read, an write bytes to the stream as it is a local file.
The client is able to run search operation on the server.
The searching criteria may include file name masks (wildcards),
text strings inside the files, or both of them.
The found items are reported in real-time, while the operation is running.
The server is able to perform remote file compression and decompression by a request from
the client. During zipping or unzipping detailed progress information is provided back to the client
about the current and total file and byte counts.
Data security is provided by transparent 128-bit AES encryption with public/private key pair or shared secret key,
without need of an SSL certificate. Building a virtual private file sharing network is just a matter
of setting the same secret key on the client and the server side.
There is an option to compress on-the-fly the outgoing data before encrypting, which may reduce greatly
the transfer time for large files.
BIGSPEED File Sharing SDK utilizes an elegant event-driven paradigm for easy integration into Windows applications.
A special attention is paid to provide responsive user interface while maintaining maximum bandwidth efficiency.
Carefully designed set of properties, methods, and events offers great flexibility to develop
innovative communication software.
Sample applications are included in Visual Basic 6, Visual Basic .NET, and Delphi 7.
Installation
The BIGSPEED File Sharing SDK setup utility will copy all the necessary files into the installation
directory you selected and will register the COM libraries on your Windows system.
There are some additional steps you must take to complete the installation,
based on which development language you are using.
Installation instructions for Visual Basic 6.0
Start Visual Basic 6.0
Create a new project or open an existing one.
Select References from the Project menu.
Entries named "BIGSPEED File Sharing Client Component" and "BIGSPEED File Sharing Server Component" should appear in the components list.
In the References dialog, make sure the "BIGSPEED File Sharing Client Component" and "BIGSPEED File Sharing Server Component" items are checked in the references list.
Click the OK button. This will make the COM objects available for use in your applications.
Installation instructions for Delphi 7
Start Delphi
Open an existing project or create a new project
From the Project menu, select the "Import Type Library" item
Select the "BIGSPEED File Sharing Client Component" and "BIGSPEED File Sharing Server Component" from the list of libraries
Check the "Generate Component Wrapper" checkbox
Enter the path for the new unit in the "Unit dir name" field.
Click on the "Create Unit" button that's on the Import Type Library dialog
Installation instructions for Visual Basic 2005
Start Visual Basic .NET
Create a new project or open an existing one.
From the Project menu, select the "Add Reference" item
In the "Add Reference" dialog, click the tab named "COM" .
Entries named "BIGSPEED File Sharing Client Component" and "BIGSPEED File Sharing Server Component" should appear in the components list.
Make sure the "BIGSPEED File Sharing Client Component" and "BIGSPEED File Sharing Server Component" are selected in the components list.
Click the OK button. This will make the COM objects available for use in your applications.
LastError property
Data type
Integer (Read-only)
Default value
None
Description
LastError property returns the error code for the last method invocation. Zero indicates no error (success).
LocalIPList property
Data type
String (Read-only)
Default value
None
Description
LocalIPList property holds a comma-delimited list of available IP addresses of the local machine.
SecurityMode property
Data type
Integer
Default value
Zero
Description
SecurityMode property specifies what security mode to be used for the next connectuon sessions.
There are three possible values:
0 - Plain mode. No encryption is used.
1 - Symmetric encryption. The SecretKey property will be used by the component to
calculate a unique session key for each connection. The connections will be limited only
to the nodes which have assigned the same SecretKey.
2 - Asymmetric encryption. The PublicKey/PrivateKey properties will be used by the component to
calculate a unique session key for each connection. The connections can be limited only
to a predefined list of nodes by assigning the correct digital fingerprints to the property Fingerprints.
SecretKey property
Data type
String
Default value
None
Description
SecretKey property holds the cryptographic key used to calculate the session key when a symmetric encyption is used.
Only nodes with the same secret key will be able to communicate to each other.
PublicKey property
Data type
String
Default value
None
Description
PublicKey property holds the public key used to calculate the session key in the asymmetric encryption mode.
It should be previously generated by the method GenerateKeypair.
PrivateKey property
Data type
String
Default value
None
Description
PrivateKey property holds the private key used to calculate the session key in the asymmetric encryption mode. It should be previously generated
by the method GenerateKeypair.
Fingerprints property
Data type
String
Default value
None
Description
Fingerprints property optionally can be used to restrict the connection only to certain nodes.
The expected format is a comma-delimited list of digital fingerprints, as calculated by the method TakeFingerprint.
BindIP property
Data type
String
Default value
Empty
Description
If the local machine has multiple network interfaces, this property can specify which one to be used.
If the value is empty, the default IP address will be used.
GenerateKeypair method
Declaration
GenerateKeypair(
ByRef aPublicKey As String,
ByRef aPrivateKey As String
) As Boolean
Description
This method generates a new random key pair of public and private keys.
They can be used for the properties PublicKey and PrivateKey.
Parameters
aPublicKey
The Base64 encoded value of the generated public key is returned here
aPublicKey
The Base64 encoded value of the generated private key is returned here
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = GenerateKeypair( PubKey, PvtKey )
TakeFingerprint method
Declaration
TakeFingerprint(
aPublicKey As String
) As String
Description
This method calculates a digital fingerprint (MD5 checksum) of a public key.
Parameters
aPublicKey
Base64 encode value of the public key.
Return
The return value is the Base64 encoded MD5 checksum. It can be used in the property Fingerprints on the remote peers.
Example
FP = TakeFingerprint( PubKey )
SessionState property
Data type
Integer (Read-only)
Default value
0
Description
Provides information about the current state of the connection.
0
Disconnected
1
Connecting
2
Connected
Username property
Data type
String
Default value
Empty
Description
Username property specifies the sign-in ID of the user. If it's empty, a default (anonymous) user will be used
from the server when it determines the access rights.
ServerAddress property
Data type
String
Default value
Empty
Description
This property holds the IP address of the Server, when the session is open.
ServerPort property
Data type
Integer
Default value
0
Description
This property holds the port of the Server, when the session is open.
SocksVersion property
Data type
Integer
Default value
4
Description
This property specifies the version of the SOCKS protocol to be used. Valid values are "4" and "5".
SocksServer property
Data type
String
Default value
None
Description
SocksServer property sets the address of the proxy server. It accepts dotted decimal format or domain name.
SocksPort property
Data type
Integer
Default value
0
Description
SocksPort property indicates the port of the proxy server.
SocksUsername property
Data type
String
Default value
None
Description
SocksUsername property specifies the user name to be used for proxy server authentication.
SocksPassword property
Data type
String
Default value
None
Description
SocksPassword property specifies the password to be used for proxy server authentication.
TransferSuffix property
Data type
String
Default value
"_bsfilelib_transfer"
Description
TransferSuffix property holds the string constant to be appended to the name of the transferred
upload files during the operation is in progress.
ResumeDownload property
Data type
Boolean
Default value
False
Description
If set to True, the method "Download" will check automatically for available partially downloaded file
from previous operation. If it's found, the existing part will be verified by calculating MD5 control sum,
and duplicated transfer will be avoided.
ResumeUpload property
Data type
Boolean
Default value
False
Description
If set to True, the method "Upload" will check automatically for available partially downloaded file
from previous operation. If it's found, the existing part will be verified by calculating MD5 control sum,
and duplicated transfer will be avoided.
OpenSession method
Declaration
OpenSession(
ByVal aHost As String
, ByVal aPort As Integer
, ByVal aUsername As String
, ByVal aPassword As String
) As Boolean
Description
OpenSession method issues a request to establish a connection to the Server.
The Client moves from closed to the connecting state.
The application will be notified later on for the result of the operation.
If the Client is connected successfully the event OnSessionOpen will be fired,
otherwise the event OnSessionRejected will be fired.
Parameters
aHost
The address of the Server. It can be in dotted decimal format or domain name.
aPort
The listening port number of the Server.
aUsername
The username for logging in to the Server. If it's empty, the default (Guest) account will be used
aPassword
The password needed for the login operation. Should be empty for Guest login.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = P2pClient.OpenSession(edHost.Text, Val(edServerPort.Text), edUsername.Text, edPassword.Text)
CloseSession method
Declaration
CloseSession As Boolean
Description
CloseSession method issues a reguest to the Client to break the connection with the Server.
The event OnSessionClosed will notify the application about the result of the operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
SendBinaryMessage method
Declaration
SendBinaryMessage(
ByRef aMessage As Variant
) As Boolean
Description
SendBinaryMessage method sends a binary message (byte array) to the server.
Parameters
aMessage
Variant array of bytes holding the message data
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
ListFolder method
Declaration
ListFolder(
ByVal aFolder As String
) As Boolean
Description
ListFolder method starts an operation for retrieving the list of items contained in a server folder.
The event OnHaveListItem will report the individual items.
The event OnListFolderDone will notify about the completion status.
Parameters
aFolder
Pathname of an existing folder on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = ListFolder("MyPath\MyFile" )
CreateFolder method
Declaration
CreateFolder(
ByVal aPath As String
) As Boolean
Description
CreateFolder method issues a request to the server to create a folder.
The event OnCreateFolderDone will notify the application about the result of the operation.
Parameters
aPath
Pathname of the new folder.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = CreateFolder("MyPath\MyFolder" )
RenameFolder method
Declaration
RenameFolder(
ByVal aFolder As String
) As Boolean
Description
RenameFolder method issues a request to the server to rename a folder.
The event OnRenameFolderDone will notify the application about the result of the operation.
Parameters
aFolder
Pathname of an existing folder on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
DeleteFolder method
Declaration
DeleteFolder(
ByVal aFolder As String
) As Boolean
Description
DeleteFolder method issues a request to the server to delete a folder.
The event OnDeleteFolderDone will notify the application about the result of the operation.
Parameters
aFolder
Pathname of an existing folder on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = DeleteFolder("MyPath\MyFolder" )
Download method
Declaration
Download(
ByVal aFile As String
,ByVal aFolder As String
,ByVal aCompress As Boolean
) As Boolean
Description
Download method starts a download operation.
The event OnDownloadProgress will provide progress information.
The event OnDownloadDone will report the completion status.
Parameters
aFile
Pathname of an existing file on the server.
aFolder
Pathname of a folder on the local system, where the downloaded file will be placed.
aCompress
If it's TRUE, the file data will be compressed on-the-fly during the transfer
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
CancelDownload method
Declaration
CancelDownload As Boolean
Description
CancelDownload method aborts the currently running download operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Upload method
Declaration
Upload(
ByVal aFile As String
,ByVal aFolder As String
,ByVal aCompress As Boolean
) As Boolean
Description
Upload method starts an upload operation.
The event OnUploadProgress will provide progress information.
The event OnUploadDone will report the completion status.
Parameters
aFile
Pathname of an existing file on local system.
aFolder
Pathname of a folder on the remote system, where the uploaded file will be placed.
aCompress
If it's TRUE, the file data will be compressed on-the-fly during the transfer
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
CancelUpload method
Declaration
CancelUpload As Boolean
Description
CancelUpload method aborts the currently running upload operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
NeedFileSize method
Declaration
NeedFileSize(
ByVal aFile As String
) As Boolean
Description
NeedFileSize method issues a request for obtaing the size of a remote file.
The value will be reported by the event OnFileSizeDone.
Parameters
aFile
Pathname of an existing file on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
NeedFileTime method
Declaration
NeedFileTime(
ByVal aFile As String
) As Boolean
Description
NeedFileTime method issues a request for obtaing the last modification time of a remote file.
The value will be reported by the event OnFileTimeDone.
Parameters
aFile
Pathname of an existing file on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
RenameFile method
Declaration
RenameFile(
ByVal aOldName As String
, ByVal aNewName As String
) As Boolean
Description
RenameFile method issues a request to the server to rename/move a file.
The event OnRenameFileDone will notify the application about the result of the operation.
If the path in "aNewName" is different than "aOldName", the file will be moved.
Parameters
aFile
Pathname of an existing file on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
DeleteFile method
Declaration
DeleteFile(
ByVal aFile As String
) As Boolean
Description
DeleteFile method issues a request to the server to delete a file.
The event OnDeleteFileDone will notify the application about the result of the operation.
Parameters
aFile
Pathname of an existing file on the server.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Ok = DeleteFile("MyPath\MyFile" )
Search method
Declaration
Search(
ByVal aFolder As String
,ByVal aFiles As String
,ByVal aText As String
) As Boolean
Description
Search method starts a search operation.
The event OnHaveFindFile will report the found items.
The event OnSearchProgress will provide progress information.
The event OnSearchDone will notify about the completion status.
Parameters
aFolder
Pathname of start folder on the server.
aFiles
A file name mask (wildcards *.*) to be applied
aText
A word or phrase contained in the file
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
StopSearch method
Declaration
StopSearch() As Boolean
Description
StopSearch method aborts the currently running search operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
OpenStream method
Declaration
OpenStream(
ByVal aFile As String
,ByVal aFlags As Long
) As Boolean
Description
OpenStream method issues a request to open a seekable file stream on the server.
The operation result will be reported by the event OnOpenStreamDone.
Parameters
aFile
Pathname of an existing file on the server.
aFlags
A combination of open and share mode constants.
The following values are defined:
Open mode
H0000: Open the file for reading only.
H0001: Open the file for writing only. Writing to the file completely replaces the current contents.
H0002: Open the file to modify the current contents rather than replace them.
Share mode
H0010: Other applications can not open the file for any reason.
H0020: Other applications can open the file for reading but not for writing.
H0030: Other applications can open the file for writing but not for reading.
H0040: No attempt is made to prevent other applications from reading from or writing to the file.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
SeekStream method
Declaration
SeekStream(
ByVal aOffsetLo As Long
,ByVal aOffsetHi As Long
,ByVal aOrigin As Long
) As Boolean
Description
SeekStream method issues a request to move the current position in the opened stream.
The completion status will be reported by the event OnSeekStreamDone.
Parameters
aOffsetLo
The low 32 bits of the offset value.
aOffsetHi
The high 32 bits of the offset value.
aOrigin
Indicates how to interpret the Offset parameter. It should be one of the following values:
0: Offset is from the beginning of the file. Seek moves to the position Offset. Offset must be >= 0.
1: Offset is from the current position in the file. Seek moves to Position + Offset.
2: Offset is from the end of the file. Offset must be <= 0 to indicate a number of bytes before the end of the file.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
NeedStreamPosition method
Declaration
NeedStreamPosition As Boolean
Description
NeedStreamPosition method issues a request for obtaing the current position in the opened stream.
The value will be reported by the event OnStreamPositionDone.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
NeedStreamSize method
Declaration
NeedStreamSize As Boolean
Description
NeedStreamSize method issues a request for obtaing the size of the opened stream.
The value will be reported by the event OnStreamSizeDone.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
ReadStream method
Declaration
ReadStream(
ByVal aLength As Long
) As Boolean
Description
ReadStream method issues a request to read a block of bytes from the opened stream.
The values will be reported by the event OnReadStreamDone.
Parameters
aLength
The length of the block in bytes to be read.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
WriteStream method
Declaration
WriteStream(
ByVal aBlock As Variant
) As Boolean
Description
WriteStream method issues a request to write a block of bytes into the opened stream.
The completion status will be reported by the event OnWriteStreamDone.
Parameters
aBlock
Variant array holding the bytes to be writen.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
CloseStream method
Declaration
CloseStream As Boolean
Description
CloseStream method closes the currently opened remote file stream.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Zip method
Declaration
Zip(
ByVal aArchive As String
,ByVal aFiles As String
) As Boolean
Description
Zip method starts a compression operation.
The event OnZipProgress will provide progress information.
The event onZipDone will report the completion status.
Parameters
aArchive
Pathname of an existing zip file on the server.
aFiles
Pathname and file name mask (wildcard) of the files to be
archived.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Example
Zip("DestDir\archive.zip", "SrcDir\*.txt")
CancelZip method
Declaration
CancelZip As Boolean
Description
CancelZip method aborts the currently running zip operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Unzip method
Declaration
Unzip(
ByVal aArchive As String
,ByVal aFolder As String
) As Boolean
Description
Unzip method starts a decompression operation.
The event OnUnzipProgress will provide progress information.
The event onUnzipDone will report the completion status.
Parameters
aArchive
Pathname of an existing zip file on the server.
aFolder
Pathname of an existing folder on the server,
where the content of the zip archive will be extracted.
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
CancelUnzip method
Declaration
CancelUnzip As Boolean
Description
CancelUnzip method aborts the currently running unzip operation.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
OnSessionOpen event
Declaration
OnSessionOpen
Description
OnSessionOpen event is generated when the Client has just been connected to the Server
after a call to "OpenSession()".
At this moment the Client is ready to accept connections from other peers.
The component moves from connecting to connected state.
Parameters
None
OnSessionClosed event
Declaration
OnSessionClosed()
Description
This event is generated when the connection to the Server has just been broken.
All currently connected peers are automatically disconnected.
The Client moves from connected to the closed state.
Parameters
None
OnSessionRejected event
Declaration
OnSessionRejected
Description
OnSessionRejected event is generated when a connection attempt to the Server (call to OpenSession() method) has been failed.
The Client moves from connecting to the closed state. The LastError property holds the error code.
Parameters
None
OnBinaryMessage event
Declaration
OnBinaryMessage(
ByVal aHandle As Integer
,ByRef aMessage As Variant)
Description
OnBinaryMessage event delivers binary message received from a client or the server.
Parameters
aHandle
The handle of the client firing the event. If it's zero, sender is the server
aMessage
Byte array holding the message data
OnDownloadProgress event
Declaration
OnDownloadProgress(
ByVal aCountLo As Long
,ByVal aCountHi As Long
,ByVal aSizeLo As Long
,ByVal aSizeHi As Long
)
Description
OnDownloadProgress provides progress information during download operation previously started
with the method Download.
Parameters
aCountLo
The low 32 bits of the current byte count.
aCountHi
The high 32 bits of the current byte count.
aSizeLo
The low 32 bits of the total byte size.
aSizeHi
The high 32 bits of the total byte size.
OnDownloadDone event
Declaration
OnDownloadDone(aCode As Long)
Description
OnDownloadDone event reports the result of the operation previously started
with the method Download.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnUploadProgress event
Declaration
OnUploadProgress(
ByVal aCountLo As Long
,ByVal aCountHi As Long
,ByVal aSizeLo As Long
,ByVal aSizeHi As Long
)
Description
OnUploadProgress provides progress information during upload operation previously started
with the method Upload.
Parameters
aCountLo
The low 32 bits of the current byte count.
aCountHi
The high 32 bits of the current byte count.
aSizeLo
The low 32 bits of the total byte size.
aSizeHi
The high 32 bits of the total byte size.
OnUploadDone event
Declaration
OnUploadDone(ByVal aCode As Long)
Description
OnUploadDone event reports the result of the operation previously started
with the method Upload.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnHaveListItem event
Declaration
OnHaveListItem()
Description
OnHaveListItem event reports an idividual file or folder produced by
a list operation started with the method ListFolder.
Parameters
aName
Pathname of the file/folder.
aFolder
Indicates if the item is a file or folder.
aSizeLo
The low 32 bits of the file size.
aSizeHi
The high 32 bits of the file size.
aTimeLo
The low 32 bits of the file time.
aTimeHi
The high 32 bits of the file time.
OnListFolderDone event
Declaration
OnListFolderDone(ByVal aCode As Long)
Description
OnListFolderDone event reports the result of the operation previously started
with the method ListFolder.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnCreateFolderDone event
Declaration
OnCreateFolderDone(ByVal aCode As Long)
Description
OnCreateFolderDone event reports the result of the operation previously started
with the method CreateFolder.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnRenameFolderDone event
Declaration
OnRenameFolderDone(ByVal aCode As Long)
Description
OnRenameFolderDone event reports the result of the operation previously started
with the method RenameFolder.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnDeleteFolderDone event
Declaration
OnDeleteFolderDone(ByVal aCode As Long)
Description
OnDeleteFolderDone event reports the result of the operation previosly started
with the method DeleteFolder.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnRenameFileDone event
Declaration
OnRenameFileDone(ByVal aCode As Long)
Description
OnRenameFileDone event reports the result of the operation previously started
with the method RenameFile.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnDeleteFileDone event
Declaration
OnDeleteFileDone(ByVal aCode As Long)
Description
OnDeleteFileDone event reports the result of the operation previously started
with the method DeleteFile.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnFileSizeDone event
Declaration
OnFileSizeDone(
ByVal aCode As Long
,ByVal aSizeLo As Long
,ByVal aSizeHi As Long
)
Description
OnFileSizeDone event reports the result of the operation previously started
with the method NeedFileSize.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
aSizeLo
The low 32 bits of the file size.
aSizeHi
The high 32 bits of the file size.
OnFileTimeDone event
Declaration
OnFileTimeDone(
ByVal aCode As Long
,ByVal aTimeLo As Long
,ByVal aTimeHi As Long
)
Description
OnFileTimeDone event reports the result of the operation previously started
with the method NeedFileTime.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
aTimeLo
The low 32 bits of the file time value.
aTimeHi
The high 32 bits of the file time value.
OnHaveFindFile event
Declaration
OnHaveFindFile(
ByVal aName As String
,ByVal aSizeLo As Long
,ByVal aSizeHi As Long
,ByVal aTimeLo As Long
,ByVal aTimeHi As Long
)
Description
OnHaveFindFile event reports an idividual file item found by
a search operation started with the method Search.
Parameters
aName
Pathname of the file.
aSizeLo
The low 32 bits of the file size.
aSizeHi
The high 32 bits of the file size.
aTimeLo
The low 32 bits of the file time.
aTimeHi
The high 32 bits of the file time.
OnSearchProgress event
Declaration
OnSearchProgress(ByVal aCount As Long)
Description
OnSearchProgress provides progress information during search operation previously started
with the method Search.
Parameters
aCode
Number of the files which are examined so far.
OnSearchDone event
Declaration
OnSearchDone(ByVal aCode As Long)
Description
OnSearchDone event reports the result of the operation previously started
with the method Search.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnZipProgress event
Declaration
OnZipProgress(
ByVal aFileCount As Long
,ByVal aFileTotal As Long
,ByVal aByteCountLo As Long
,ByVal aByteCountHi As Long
,ByVal aByteTotalLo As Long
,ByVal aByteTotalHi As Long
)
Description
OnZipProgress provides progress information during compression operation previously started
with the method Zip.
Parameters
aFileCount
Number of the files processed so far.
aFileTotal
Total number of the requested files.
aByteCountLo
The low 32 bits of the amount of bytes processed so far.
aByteCountHi
The high 32 bits of the amount of bytes processed so far.
aByteTotalLo
The low 32 bits of the total requested amount of bytes.
aByteTotalHi
The high 32 bits of the total requested amount of bytes.
OnZipDone event
Declaration
OnZipDone(ByVal aCode As Long)
Description
OnZipDone event reports the result of the operation previously started
with the method Zip.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnUnzipProgress event
Declaration
OnUnzipProgress(
ByVal aFileCount As Long
,ByVal aFileTotal As Long
,ByVal aByteCountLo As Long
,ByVal aByteCountHi As Long
,ByVal aByteTotalLo As Long
,ByVal aByteTotalHi As Long
)
Description
OnUnzipProgress provides progress information during decompression operation previously started
with the method Unzip.
Parameters
aFileCount
Number of the files processed so far.
aFileTotal
Total number of the requested files.
aByteCountLo
The low 32 bits of the amount of bytes processed so far.
aByteCountHi
The high 32 bits of the amount of bytes processed so far.
aByteTotalLo
The low 32 bits of the total requested amount of bytes.
aByteTotalHi
The high 32 bits of the total requested amount of bytes.
OnUnzipDone event
Declaration
OnUnzipDone(ByVal aCode As Long)
Description
OnUnzipDone event reports the result of the operation previously started
with the method Unzip.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnOpenStreamDone event
Declaration
OnOpenStreamDone(ByVal aCode As Long)
Description
OnOpenStreamDone event reports the result of the operation previously started
with the method OpenStream.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnStreamSizeDone event
Declaration
OnStreamSizeDone(
ByVal aCode As Long
,ByVal aSizeLo As Long
,ByVal aSizeHi As Long
)
Description
OnStreamSizeDone event reports the result of the operation previously started
with the method NeedStreamSize.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
aSizeLo
The low 32 bits of the stream size.
aSizeHi
The high 32 bits of the stream size.
OnStreamPositionDone event
Declaration
OnStreamPositionDone(
OnStreamSizeDone(
ByVal aCode As Long
,ByVal aPositionLo As Long
,ByVal aPositionHi As Long
)
)
Description
OnStreamPositionDone event reports the result of the operation previously started
with the method NeedPositionSize.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
aSizeLo
The low 32 bits of the stream position.
aSizeHi
The high 32 bits of the stream position.
OnSeekStreamDone event
Declaration
OnSeekStreamDone(ByVal aCode As Long)
Description
OnStreamSizeDone event reports the result of the operation previously started
with the method SeekStream.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnReadStreamDone event
Declaration
OnReadStreamDone()
Description
This event is generated when the key matching between the client and the server is changed.
If the both keys match to each other is indicated by the method "WrongKey()".
Parameters
None
OnWriteStreamDone event
Declaration
OnWriteStreamDone(ByVal aCode As Long)
Description
OnWriteStreamDone event reports the result of the operation previously started
with the method WriteStream.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnCloseStreamDone event
Declaration
OnCloseStreamDone(ByVal aCode As Long)
Description
OnCloseStreamDone event reports the result of the operation previously started
with the method CloseStream.
Parameters
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
ListeningPort property
Data type
Integer
Default value
0
Description
ListeningPort property holds the port number on which the Server is listening for incoming connections.
If it's set to 0, the Server will use a random value.
If the PC is behind a firewall/NAT/router, you need to forward/open this port.
The website www.portforward.com may help in that case.
LocalIPList property
Data type
String (Read-only)
Default value
None
Description
LocalIPList property holds a comma-delimited list of available IP addresses of the local machine.
Running property
Data type
Boolean (Read-only)
Default value
False
Description
Running property indicates if the Server is currently listening for incoming connections.
Start method
Declaration
Start(
) As Boolean
Description
Start method instructs the Server to start listening for incoming connections.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
Stop method
Declaration
Stop(
) As Boolean
Description
Stop method instructs the Server to stop listening for incoming connections.
All currently connected clients will be disconnected as well.
Parameters
None
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
GetMoniker method
Declaration
GetMoniker(
ByVal aHandle As Integer
) As Integer
Description
GetMoniker method provides the moniker ID associated with the client object.
It should be previously set with SetMoniker method.
Parameters
aHandle
Handle of the desired client object.
Return
Integer value representing the moniker ID.
SetMoniker method
Declaration
SetMoniker(
ByVal aHandle As Integer
,ByVal aMoniker As Integer
)
Description
SetMoniker method assigns a moniker ID (4 byte integer) to a client object.
This could be helpful for easy reference to some application data associated with the client.
Parameters
aHandle
Handle of the desired client object.
aMoniker
The moniker ID value
Return
None
RemoveClient method
Declaration
RemoveClient(
ByVal aHandle As Integer
)
Description
RemoveClient method disconnects and destroys a client object.
Parameters
aHandle
Handle of the desired client object.
Return
None
GetClientAddress method
Declaration
GetClientAddress(
ByVal aHandle As Long
) As String
Description
GetClientAddress gives the client IP address.
Parameters
aHandle
Handle of the desired client object.
Return
Client address in IP dotted format.
GetClientPort method
Declaration
GetClientPort(
ByVal aHandle As Long
) As String
Description
GetClientPort method gives the client port number.
Parameters
aHandle
Handle of the desired client object.
Return
Client port number.
GetUsername method
Declaration
GetUsername(
ByVal aHandle As Long
) As String
Description
GetUsername method provides the user name associated with a client object.
Parameters
aHandle
Handle of the desired client object.
Return
Name of the signed-in user.
SendBinaryMessage method
Declaration
SendBinaryMessage(
ByVal aHandle As Integer
, ByRef aMessage As Variant
) As Boolean
Description
SendBinaryMessage method sends a binary message (byte array) to a client.
Parameters
aHandle
Handle of the desired client object.
aMessage
Variant array of bytes holding the message data
Return
If the return value is TRUE the method invocation is successful. Otherwise the property LastError
can be used to retrieve the error code.
OnConnectionRequest event
Declaration
OnConnectionRequest(
ByVal aHandle As Integer
,ByVal aUsername As String
,ByRef aPassword As String
,ByRef aAccept As Boolean
)
Description
OnConnectionRequest event notifies about a login request from a client.
The application should check the user profile and return the value of the password.
Parameters
aHandle
Handle of the newly created client object.
aUsername
Name of the desired user.
aPassword
This is an out parameter. If the username is found in the user profile,
the application must pass here the password value set for the asked username previously by the administrator.
aAccept
If the aplication wants to grant an access to the client, this value must be set to True
OnClientConnected event
Declaration
OnClientConnected(
ByVal aHandle As Integer
)
Description
OnClientConnected event is generated when a new client has just been connected to the Server.
The application should store the handle to the newly created client object for later use.
Parameters
aHandle
Handle of the newly created client object. It should be saved for future reference to it.
OnClientDisconnected event
Declaration
OnClientDisconnected(
ByVal aHandle As Integer
,ByVal aCode As Integer
)
Description
OnClientDisconnected event is generated when a connected client has just been disconnected from the Server.
The handle of the client is no more valid for future references.
Parameters
aHandle
The handle of the client firing the event
aCode
Indicates the error code.
OnBinaryMessage event
Declaration
OnBinaryMessage(
ByVal aHandle As Integer
,ByRef aMessage As Variant)
Description
OnBinaryMessage event delivers binary message received from a client.
Parameters
aHandle
Handle of the client firing the event
aMessage
Byte array holding the message data
OnNeedDownload event
Declaration
OnNeedDownload(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedDownload event notifies about a client's request and asks for permission to
start a download operation. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the downloaded file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnDownloadDone event
Declaration
OnDownloadDone(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnDownloadDone event reports the completion status of the download operation previously
signaled by the event OnNeedDownload.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnNeedUpload event
Declaration
OnNeedUpload(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedUpload event notifies about a client's request and asks for permission to
upload a file. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the uploaded file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnUploadDone event
Declaration
OnUploadDone(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnUploadDone event reports the completion status of the upload operation previously
signaled by the event OnNeedUpload.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnNeedListFolder event
Declaration
OnNeedListFolder(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedListFolder event notifies about a client's request and asks for permission to
start a list operation. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the starting folder.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedCreateFolder event
Declaration
OnNeedCreateFolder(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedCreateFolder event notifies about a client's request and asks for permission to
create a new folder. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested folder.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedDeleteFolder event
Declaration
OnNeedDeleteFolder(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedDeleteFolder event notifies about a client's request and asks for permission to
delete a folder. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested folder.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedRenameFolder event
Declaration
OnNeedRenameFolder(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedRenameFolder event notifies about a client's request and asks for permission to
rename a folder. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested folder.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedDeleteFile event
Declaration
OnNeedDeleteFile(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedDeleteFile event notifies about a client's request and asks for permission to
delete a file. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedRenameFile event
Declaration
OnNeedRenameFile(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedRenameFile event notifies about a client's request and asks for permission to
rename a file. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedFileSize event
Declaration
OnNeedFileSize(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedFileSize event notifies about a client's request and asks for permission to
obtain file size information. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedFileTime event
Declaration
OnNeedFileTime(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedFileTime event notifies about a client's request and asks for permission to
obtain file time information. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnNeedSearch event
Declaration
OnNeedSearch(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedSearch event notifies about a client's request and asks for permission to
start a search operation. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the starting folder.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnSearchDone event
Declaration
OnSearchDone(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnSearchDone event reports the completion status of the search operation previously
signaled by the event OnNeedSearch.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnNeedZip event
Declaration
OnNeedZip(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedZip event notifies about a client's request and asks for permission to
start a compression operation. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the zip archive.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnZipDone event
Declaration
OnZipDone(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnZipDone event reports the completion status of the compression operation previously
signaled by the event OnNeedZip.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnNeedUnzip event
Declaration
OnNeedUnzip(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedUnzip event notifies about a client's request and asks for permission to
start a decompression information. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the zip archive.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnUnzipDone event
Declaration
OnUnzipDone(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnUnzipDone event reports the completion status of the decompression operation previously
signaled by the event OnNeedUnzip.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
OnNeedOpenStream event
Declaration
OnNeedOpenStream(
ByVal aHandle As Long
,ByVal aPath As String
,ByRef aOkay As Boolean
,ByRef aRoot As String
)
Description
OnNeedOpenStream event notifies about a client's request and asks for permission to
open a file stream. The application should check the user's access rights here and
needs to take a decision whether to permit the operation or not.
Parameters
aHandle
Handle of the client object firing the event.
aPath
Relative pathname of the requested file.
aOkay
If the operation may be performed, the aplication must set this variable to TRUE
aRoot
If there is a permission for the operation,
the application must write here the root folder assigned to the signed-in user.
OnStreamClosed event
Declaration
OnStreamClosed(
ByVal aHandle As Long
,ByVal aCode As Long
)
Description
OnStreamClosed event is generated when the currently opened stream
has just been closed.
Parameters
aHandle
Handle of the client object firing the event.
aCode
If the value is 0, the operation is completed successfully.
If the value is greater than 0, it indicates an error code.
The text description is given in the LastError property specification.
Error codes
0
No error
1
User action
2
Unknown error
3
Invalid handle
4
Invalid data
5
There is no assigned event handler
6
Illegal operation
7
Event handler error
8
Bad encryption key
10
Connection is refused
11
Connection timeout
12
Broken connection
13
Not connected
14
Too many connections
20
Cannot start server
21
Cannot connect to SOCKS server
22
Wrong username or password
23
Access is denied
24
Client is not signed-in
30
Operation is already running
31
Operation is not running
100
Cannot create folder
101
Cannot delete folder
102
Cannot delete file
103
Cannot rename folder
104
Cannot rename file
105
Cannot open file
106
Cannot create file
107
Cannot read from file
108
Cannot write to file
109
Cannot rename temporary file
110
Non-supported format
111
Error searching file
112
Wrong checksum
Description
If the error code is negative, the cause is on the remote side.
License Agreement
License for using BIGSPEED File Sharing SDK (hereinafter referred to as this Software) from BIGSPEED Computing Inc.
By using the information contained in this document you agree to be and are hereby bound
by the terms of this License Agreement. If you do not agree to the terms of this Agreement,
do not use the information contained in this document.
Licensing
BIGSPEED Computing grants Licensee the non-exclusive license to use this Software on a single computer at any
given time for the sole purpose of developing any number of end user applications, providing that each
application adheres to the following conditions:
(a) The application may not compete with this Software.
(b) The application may not expose the functionality of this Software through a programmable interface.
It is forbidden to use the library for the production of developer tools, components or libraries.
There are two licensing options available depending on your needs.
If you have not paid for this Software, you are hereby granted a Freeware License
to use the Free Edition as described below.
If you have paid the appropriate fee for this Software, you are hereby granted
a Registered license to use the Base/Plus Editions as described below.
Freeware License
You may use the Free Edition of BIGSPEED File Sharing SDK for the purpose of developing
end user applications, providing that each application shall only be used for purposes that
neither directly nor indirectly have any commercial implications. You may redistribute
the binary code of the Free Edition with your completed application. The application
MUST acknowledge this Software in a reasonable place (Help file, About box etc).
If this Software is to be used in a commercial product, or incorporated into anything that is to be
sold to a third party, then a Registered License must be purchased from BIGSPEED Computing.
The Free Edition distribution package may be freely distributed, provided it is not modified in any way.
No person or company may charge a fee for the distribution of BIGSPEED File Sharing SDK
without written permission from the copyright holder.
Registered License
You may use the Base/Plus Editions of BIGSPEED File Sharing SDK for the purpose of developing
end user commercial applications. A Registered License is issued to a specific company or organization,
and entitles that organization to incorporate the binary code of this Software into commercial
applications under the Licensee's brand name. There is no restriction on the number of products,
or product types, incorporating the library binary code.
If Licensee has purchased a "multi-developer" license, this Software may be used on more than one computer
at Licensee's premises by the number of software developers associated with the multi-developer license.
Limited warranty
BIGSPEED Computing Inc. cannot be held responsible under any circumstances for damages
of any character (including, but not limited to, direct or indirect damages
resulting from the loss of
business profits, business interruption, loss of business information, or
other pecuniary loss) arising out of the use or inability to use this product.
This software is provided under license on an "AS IS" basis, without warranty
of any kind, expressed or implied, including without limitation, implied warranties
of merchantability and fitness for a particular purpose. BIGSPEED Computing Inc. or any
third party involved in the creation, production, or delivery of the program,
cannot be held responsible under any circumstances, for any direct or indirect
damage, including loss of profits, interruption of business activities, or
other, faced by the user of this program, even in the case that BIGSPEED Computing Inc.
has been advised of such damages.
The user assumes responsibility for the result or performance of the program.
BIGSPEED Computing Inc. may, at any time, revoke this license by notifying the user of
the software. The user may cancel his license to use the product by destroying
or erasing all copies of the software.
Export restrictions
You acknowledge that this Software licensed hereunder is subject to the Wassenaar Arrangement regulations, and any amendments thereof.
You confirm that with respect to this Software, you will not export or re-export it, directly or indirectly, to any countries that are subject to Wassenaar Arrangement export restrictions.
You further acknowledge that this software may include technical data subject to export and re-export restrictions imposed by Wassenaar Arrangement.
Property
BIGSPEED File Sharing SDK, including its code, documentation, appearance, structure, and
organization is an exclusive product of BIGSPEED Computing Inc., who retains the property
rights to the software, its copies, modifications, or merged parts.
System requirements
System requirements
Windows 9x, Me, NT4 or Windows 2000, XP or higher version
Pentium Processor recommended
16 MB RAM; 32 MB RAM under NT4 or Windows 2000 platforms, 128 MB for XP
Any programming language supporting COM automation
(c) BIGSPEED Computing Inc. 1998-. Mastering algorithms.