Article updated
at 28 Oct 2017
Attention: this is a legacy library and thus not supported by Toradex anymore. We recommend that you use the new libraries for all Toradex modules. Please see the Toradex CE Libraries and Code Samples for up-to-date information.
Contains function declarations to be used to access AWS Cloud S3 Services Colibri Modules [PXAxxx, Tegra T20], WinCE 6.0 / 7.0 . More...
|
#define |
AWS_S3_ACCESS_ID_MAX_LENGTH 20 |
|
20 Characters |
|
#define |
AWS_S3_SECRET_KEY_MAX_LENGTH 40 |
|
40 Characters |
|
#define |
MAX_RESOURCE_PATH_SIZE 1024 |
|
Max Resource Path String Length allowed. |
|
#define |
AWS_S3_TIME_STRING_LEN 32 |
|
AWS Time String Length. |
|
#define |
AWS_SIGNATURE_STRING_LEN 28 |
|
Length of Signature String. |
|
#define |
AWS_LIST_ALL_BUCKET_CHUNK_SIZE (1024 * 32) |
|
#define |
AWS_LIST_BUCKET_CHUNK_SIZE (1024 * 32) |
|
#define |
AWS_DOWNLOAD_FILE_CHUNK_SIZE (1024 * 100) |
|
#define |
AWS_UPLOAD_FILE_CHUNK_SIZE (1024 * 100) |
|
#define |
S3_HANDLE_MEMORY_ALLOCATION (3 * 4) |
|
#define |
S3_HEADER_BUFFER_SIZE 120 |
|
#define |
S3_HTTP_RESPONSE_DATA_BUFFER_SMALL (1 * 1024) |
|
|
BOOL |
S3Open (HS3 *s3Account, const char *accessId, const char *secretKey, const char *path) |
|
BOOL |
S3ListAllBuckets (HS3 s3Account, char *listData, const char *filePath, DWORD *rawBytes) |
|
BOOL |
S3ListBucket (HS3 s3Account, const char *bucketPath, const char *tmpFileName, DWORD *rawBytes) |
|
BOOL |
FindFirstBucket (const char *filePath, DWORD fileSize, char *dataOut, DWORD dataOutSize, DWORD *pointerToNextFile) |
|
BOOL |
FindFirstFileInBucket (const char *filePath, DWORD fileSize, char *dataOut, DWORD dataOutSize, DWORD *pointerToNextFile) |
|
BOOL |
S3MakeDirectory (HS3 s3Account, const char *directoryPath) |
|
BOOL |
S3RemoveDirectory (HS3 s3Account, const char *directoryPath) |
|
BOOL |
S3DeleteFile (HS3 s3Account, const char *filePath) |
|
BOOL |
S3DownloadFile (HS3 s3Account, const char *sourceFilePath, const char *destinationFilePath, DWORD fileSize, DWORD *bytesDownloaded, CallBackType callBack) |
|
BOOL |
S3UploadFile (HS3 s3Account, const char *sourceFilePath, DWORD sourceFileSize, const char *destinationFilePath, DWORD *bytesUploaded, CallBackType callBack) |
|
BOOL |
S3Close (HS3 *s3Account) |
|
Contains function declarations to be used to access AWS Cloud S3 Services Colibri Modules [PXAxxx, Tegra T20], WinCE 6.0 / 7.0 .
- Copyright
- Copyright (c) 2012 Toradex AG [Software License Agreement]
- Author
- Author:
- agp
- Version
- Rev:
- 1154
- Date
- Date:
- 2012-11-08 19:56:19 +0530 (Thu, 08 Nov 2012)
BOOL FindFirstBucket |
( |
const char * |
filePath, |
|
|
DWORD |
fileSize, |
|
|
char * |
dataOut, |
|
|
DWORD |
dataOutSize, |
|
|
DWORD * |
pointerToNextFile |
|
) |
|
|
Finds Bucket details one by one from list stored in a local file
File should be initialized by calling S3ListAllBuckets()
- Parameters
-
[in] |
filePath |
Pointer to the file path string |
[in] |
fileSize |
Size of the file in bytes, this value is received from call to S3ListAllBuckets() in variable rawBytes |
[out] |
dataOut |
Pointer to the memory holding file information: "filename:size of file", User need to allocate memory to hold data |
[in] |
dataOutSize |
Size of the memory allocated for dataOut |
[in,out] |
pointerToNextFile |
Pointer holds value to next file details, this parameter will be NULL for 1st call |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() |
BOOL FindFirstFileInBucket |
( |
const char * |
filePath, |
|
|
DWORD |
fileSize, |
|
|
char * |
dataOut, |
|
|
DWORD |
dataOutSize, |
|
|
DWORD * |
pointerToNextFile |
|
) |
|
|
Finds file inside the bucket one by one, from the bucket list stored in a local file
File should be initialized by calling S3ListBucket()
- Parameters
-
[in] |
filePath |
Pointer to the file path string |
[in] |
fileSize |
Size of the file in bytes, this value is received from call to S3ListBucket() in variable rawBytes |
[out] |
dataOut |
Pointer to the memory holding file information: "filename:size of file", user need to allocate memory to hold data |
[in] |
dataOutSize |
Size of the memory allocated for dataOut |
[in,out] |
pointerToNextFile |
Pointer holds value to next file received from previous call to FindFirstFileInBucket(), this parameter will be NULL for 1st call |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() |
BOOL S3Close |
( |
HS3 * |
s3Account |
) |
|
Deletes already opened s3Account Handle
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() |
BOOL S3DeleteFile |
( |
HS3 |
s3Account, |
|
|
const char * |
filePath |
|
) |
|
|
Deletes existing file from a Bucket
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
filePath |
Pointer to the s3 file path string |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() if filePath does not exists, it will report success |
BOOL S3DownloadFile |
( |
HS3 |
s3Account, |
|
|
const char * |
sourceFilePath, |
|
|
const char * |
destinationFilePath, |
|
|
DWORD |
fileSize, |
|
|
DWORD * |
bytesDownloaded, |
|
|
CallBackType |
callBack |
|
) |
|
|
Downloads a file from a bucket to local system
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
sourceFilePath |
Pointer to the remote/s3 file path string |
[in] |
destinationFilePath |
Pointer to the local file path string |
[in] |
fileSize |
Optional to use, Size of the file to download, user need to find out using call to S3ListAllBuckets() if doesn't want to use this feature put NULL |
[out] |
bytesDownloaded |
Pointer to the variable which holds number of bytes downloaded |
[in] |
callBack |
Pointer to the function which will be called during download in progress Function will be called, after every 32KB of data is downloaded |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() "+" character is not allowed in sourceFilePath & destinationFilePath |
BOOL S3ListAllBuckets |
( |
HS3 |
s3Account, |
|
|
char * |
listData, |
|
|
const char * |
filePath, |
|
|
DWORD * |
rawBytes |
|
) |
|
|
Lists all the bucket in S3 account List is stored in a local file
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[out] |
listData |
Pointer to the Bucket list Data will be like "Bucket1Name:CreationDate" User need to allocate sufficient memory to hold the data before using this function [NULL] if this parameter is set NULL, it will give only noOfBuckets & rawBytes as output [pointer variable] after knowing number of buckets/number of raw data bytes required to hold bucket list data User can decide how many bytes are required to allocate for bucket list User can allocate rawBytes number of bytes |
[in] |
filePath |
Pointer to the file path, in which all bucket list data to be stored. |
[out] |
rawBytes |
Pointer to the variable holding number of bytes required for bucket list data |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() User need to check & if file exists, delete the file(filePath) before using the function |
BOOL S3ListBucket |
( |
HS3 |
s3Account, |
|
|
const char * |
bucketPath, |
|
|
const char * |
tmpFileName, |
|
|
DWORD * |
rawBytes |
|
) |
|
|
Lists all the files inside a bucket
List is stored in a local file
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
bucketPath |
Pointer to the path of the bucket, for example "/awswebdrive1/" |
[in] |
tmpFileName |
Pointer to the local file path string in which list data will be stored |
[out] |
rawBytes |
Pointer to the variable which holds size of file in number of bytes |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() User need to check & if file exists, delete the file(filePath) before using the function |
BOOL S3MakeDirectory |
( |
HS3 |
s3Account, |
|
|
const char * |
directoryPath |
|
) |
|
|
Makes new directory in a Bucket
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
directoryPath |
Pointer to the s3 directory path string |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() if existing directory path is given, it will report successful |
BOOL S3Open |
( |
HS3 * |
s3Account, |
|
|
const char * |
accessId, |
|
|
const char * |
secretKey, |
|
|
const char * |
path |
|
) |
|
|
Opens Handle for s3Account
- Parameters
-
[out] |
s3Account |
s3Account Handle |
[in] |
accessId |
Pointer to the aws account Access Id string [20 Characters] |
[in] |
secretKey |
Pointer to the aws account Secret Key [40 Characters] |
[in] |
path |
Pointer to the aws s3 path string |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() |
BOOL S3RemoveDirectory |
( |
HS3 |
s3Account, |
|
|
const char * |
directoryPath |
|
) |
|
|
Deletes existing directory from a Bucket
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
directoryPath |
Pointer to the s3 directory path string |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() if non existing directory path is given, it will report success |
BOOL S3UploadFile |
( |
HS3 |
s3Account, |
|
|
const char * |
sourceFilePath, |
|
|
DWORD |
sourceFileSize, |
|
|
const char * |
destinationFilePath, |
|
|
DWORD * |
bytesUploaded, |
|
|
CallBackType |
callBack |
|
) |
|
|
Uploads a file to a bucket, existing on a local system
- Parameters
-
[in] |
s3Account |
Handle returned by call to S3Open() |
[in] |
sourceFilePath |
Pointer to the local file path string |
[in] |
sourceFileSize |
size of the file in bytes (sourceFilePath) |
[in] |
destinationFilePath |
Pointer to the remote/S3 file path string |
[out] |
bytesUploaded |
Pointer to the variable which will holds, number of bytes uploaded |
[in] |
callBack |
Pointer to the function which will be called during upload in progress Function will be called after, every 32KB of data is uploaded |
- Return values
-
TRUE |
Success |
FALSE |
See GetLastError() "+" character is not allowed in sourceFilePath & destinationFilePath |