Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
openapi_transfer.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2016-2020 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 **********************************************************************
26 *
27 * @filename openapi_transfer.h
28 *
29 * @purpose Transfer Download
30 *
31 * @component OpEN
32 *
33 * @create 2/18/2016
34 *
35 * @end
36 *
37 **********************************************************************/
38 #ifndef OPENAPI_TRANSFER_H_INCLUDED
39 #define OPENAPI_TRANSFER_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
44 typedef enum
45 {
59 
61 typedef enum
62 {
112 
114 typedef enum
115 {
116  OPEN_NO_STATUS_CHANGE = 1,
117  OPEN_STATUS_CHANGED = 2,
118  OPEN_TRANSFER_FAILED = 3,
119  OPEN_TRANSFER_BAD_CRC = 4,
120  OPEN_FLASH_FAILED = 5,
121  OPEN_OPR_FILE_TYPE_FAILED = 6,
122  OPEN_OTHER_FILE_TYPE_FAILED = 7,
123  OPEN_NEXT_DATA_BLOCK_RECEIVED = 8,
124  OPEN_TRANSFER_FILE_NOT_FOUND = 9,
125  OPEN_TRANSFER_SUCCESS = 10,
126  OPEN_TFTP_FAILED = 11,
127  OPEN_OPR_FILE_VERSION_FAILED = 12,
128  OPEN_DIGITAL_SIGNATURE_VERIFY_FAILED = 13,
129  OPEN_DIGITAL_SIGNATURE_TRUNCATE_FAILED = 14,
130  OPEN_TRANSFER_STATUS_LAST = 15
132 
134 typedef enum
135 {
136  OPEN_TRANSFER_CODE_NONE = 0,
137  OPEN_TRANSFER_CODE_STARTING = 1,
138  OPEN_TRANSFER_CODE_ERROR_STARTING = 2,
139  OPEN_TRANSFER_CODE_WRONG_FILE_TYPE = 3,
140  OPEN_TRANSFER_CODE_UPDATE_CONFIG = 4,
141  OPEN_TRANSFER_CODE_INVALID_CONFIG = 5,
142  OPEN_TRANSFER_CODE_WRITING_FLASH = 6,
143  OPEN_TRANSFER_CODE_FLASH_FAILED = 7,
144  OPEN_TRANSFER_CODE_CHECKING_CRC = 8,
145  OPEN_TRANSFER_CODE_CRC_FAILURE = 9,
146  OPEN_TRANSFER_CODE_UNKNOWN_DIRECTION = 10,
147  OPEN_TRANSFER_CODE_SUCCESS = 11,
148  OPEN_TRANSFER_CODE_FAILURE = 12,
149  OPEN_TRANSFER_CODE_WRONG_DEVICE = 13,
150  OPEN_TRANSFER_CODE_INSUFFICIENT_MEMORY = 14,
151  OPEN_TRANSFER_CODE_FLASH_FILE_OPEN_FAIL = 15,
152  OPEN_TRANSFER_CODE_ERROR_READING_FROM_FLASH = 16,
153  OPEN_TRANSFER_CODE_FILE_DOES_NOT_EXISTS = 17,
154  OPEN_TRANSFER_CODE_FILE_TOO_BIG = 18,
155  OPEN_TRANSFER_CODE_ERROR_WRITING_TO_FLASH = 19,
156  OPEN_TRANSFER_CODE_OVERWRITE_DENIED = 20,
157  OPEN_TRANSFER_CODE_LAST = 21
159 
161 typedef enum
162 {
169 
171 typedef enum
172 {
178 
179 /*****************************************************************/
192  uint32_t *headerSize);
193 
194 /*****************************************************************/
220  open_buffdesc *headerData,
221  OPEN_BOOL_t *isValid);
222 
223 /*****************************************************************/
238  OPEN_TRANSFER_MODES_t *xfrMode);
239 
240 /*****************************************************************/
255  OPEN_TRANSFER_MODES_t xfrMode);
256 
257 /*****************************************************************/
275  OPEN_FILE_TYPES_t *fileType);
276 
277 /*****************************************************************/
296  OPEN_FILE_TYPES_t fileType);
297 
298 /*****************************************************************/
312  OPEN_FILE_TYPES_t *pFileType);
313 
314 /*****************************************************************/
332  OPEN_FILE_TYPES_t fileType);
333 
334 /*****************************************************************/
349  OPEN_FILE_TYPES_t *pFileType);
350 
351 /*****************************************************************/
366  OPEN_FILE_TYPES_t fileType);
367 
368 /*****************************************************************/
383  open_inet_addr_t *inetAddr);
384 
385 /*****************************************************************/
403  open_inet_addr_t inetAddr);
404 
405 /*****************************************************************/
426  open_buffdesc *filePath,
427  open_buffdesc *fileName);
428 
429 /*****************************************************************/
450  open_buffdesc *filePath,
451  open_buffdesc *fileName);
452 
453 /*****************************************************************/
473  open_buffdesc *imageLabel);
474 
475 /*****************************************************************/
499  open_buffdesc *imageLabel);
500 
501 /*****************************************************************/
523  open_buffdesc *username,
524  open_buffdesc *password);
525 
526 /*****************************************************************/
548  open_buffdesc *username,
549  open_buffdesc *password);
550 
551 /*****************************************************************/
578  open_buffdesc *filePathBuf,
579  open_buffdesc *fileNameBuf);
580 
581 /*****************************************************************/
597 
598 /*****************************************************************/
613  OPEN_BOOL_t *isInProgress);
614 
615 /*****************************************************************/
634  OPEN_TRANSFER_STATUS_t *resultCode,
635  open_buffdesc *resultStatus);
636 
637 /*****************************************************************/
653 
654 /*****************************************************************/
669  OPEN_TRANSFER_CODE_t *resultCode);
670 
671 /*****************************************************************/
686  OPEN_DIGITAL_SIGNATURE_OPTION_t *dsvConfigOption);
687 
688 /*****************************************************************/
703  OPEN_DIGITAL_SIGNATURE_OPTION_t dsvConfigOption);
704 
705 /*****************************************************************/
722  OPEN_COPY_CONFIG_DIRECTIVE_t directive);
723 
724 /*********************************************************************************/
743  uint32_t licenseIndex);
744 
745 /*****************************************************************/
763  uint32_t unit,
764  open_buffdesc *srcFileName,
765  open_buffdesc *dstFileName);
766 
767 #endif /* OPENAPI_TRANSFER_H_INCLUDED */
768 
open_error_t openapiTransferUploadFileTypeGet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t *pFileType)
Get the Transfer upload File Type.
open_error_t openapiHttpTransferDownStartSet(openapiClientHandle_t *client_handle, open_buffdesc *filePathBuf, open_buffdesc *fileNameBuf)
Completes an HTTP(S) file download transfer operation.
Digital Signature verify for all downloads.
open_error_t openapiFileCopy(openapiClientHandle_t *client_handle, uint32_t unit, open_buffdesc *srcFileName, open_buffdesc *dstFileName)
copies a given local file locally or remotely
open_error_t openapiTransferUpStartSet(openapiClientHandle_t *client_handle)
Starts an asynchronous file upload transfer operation.
open_error_t openapiTransferUploadFileTypeSet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t fileType)
Set the Transfer upload File Type.
open_error_t openapiTransferLicenseIndexSet(openapiClientHandle_t *client_handle, uint32_t licenseIndex)
This API sets the index of the License file, that is to be transferred by the system.
OPEN_FILE_TYPES_t
OPEN File Types.
Digital Signature verify for Image download only.
OPEN_COPY_CONFIG_DIRECTIVE_t
OPEN Configuration File Copy Combinations.
Invalid file type.
DHCP Client configuration files.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiTransferDownloadResultCodeGet(openapiClientHandle_t *client_handle, OPEN_TRANSFER_CODE_t *resultCode)
To retrieve the status of a transfer operation.
Transfer via ZMODEM.
open_error_t openapiDigitalSignatureVerifyConfigSet(openapiClientHandle_t *client_handle, OPEN_DIGITAL_SIGNATURE_OPTION_t dsvConfigOption)
To set the option to verify digital signature of downloaded file.
Transfer via FTP.
Backup Configuration file.
open_error_t openapiTransferFileTypeGet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t *fileType)
Get the Transfer File Type.
open_error_t openapiTransferServerAddressGet(openapiClientHandle_t *client_handle, open_inet_addr_t *inetAddr)
Get the transfer server address.
OPEN_TRANSFER_MODES_t
OPEN File Transfer Types.
Client SSL Certificate.
open_error_t openapiDigitalSignatureVerifyConfigGet(openapiClientHandle_t *client_handle, OPEN_DIGITAL_SIGNATURE_OPTION_t *dsvConfigOption)
To get the option to verify digital signature of downloaded file.
Transfer via sftp.
"startup-config" to "backup-config"
Text Configuration.
Openflow Switch Certificate file.
"running-config" to "startup-config"
TRO69 Client SSL Certificate.
All persistent log files.
Digital Signature verify for config script download only.
open_error_t openapiTransferFileRemoteSet(openapiClientHandle_t *client_handle, open_buffdesc *filePath, open_buffdesc *fileName)
Set the path and name of the file on the remote system that is designated for transfer.
open_error_t openapiTransferModeGet(openapiClientHandle_t *client_handle, OPEN_TRANSFER_MODES_t *xfrMode)
Get the current transfer mode.
OPEN_TRANSFER_CODE_t
OPEN File Transfer Code.
open_error_t openapiTransferDownloadFileTypeGet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t *pFileType)
Get the Transfer Download File Type.
For bounds checking.
open_error_t openapiTransferInProgressGet(openapiClientHandle_t *client_handle, OPEN_BOOL_t *isInProgress)
Retrieve the progress of a file transfer.
Openflow Private Key file.
open_error_t openapiTransferFileRemoteGet(openapiClientHandle_t *client_handle, open_buffdesc *filePath, open_buffdesc *fileName)
Get the path and name of the file on the remote system that is designated for transfer.
For bounds checking.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiTransferRemoteUserCredentialsSet(openapiClientHandle_t *client_handle, open_buffdesc *username, open_buffdesc *password)
Set the credentials (username and password) of remote host that will serve the file during the transf...
Invalid xfer type.
Openflow CA Certificate file.
open_error_t openapiTransferServerAddressSet(openapiClientHandle_t *client_handle, open_inet_addr_t inetAddr)
Set the transfer server address.
Compressed executable.
No Digital Signature verify for all downloads.
Configuration file.
Transfer via https.
Transfer via http.
Transfer via USB.
open_error_t openapiTransferRemoteUserCredentialsGet(openapiClientHandle_t *client_handle, open_buffdesc *username, open_buffdesc *password)
Get the credentials (username and password) of remote host that will serve the file during the transf...
open_error_t openapiTransferResultGet(openapiClientHandle_t *client_handle, OPEN_TRANSFER_STATUS_t *resultCode, open_buffdesc *resultStatus)
To retrieve the status of a transfer task in string format.
Transfer via tftp.
SSL PEM Root Certificate.
open_error_t openapiImageHeaderCheck(openapiClientHandle_t *client_handle, open_buffdesc *headerData, OPEN_BOOL_t *isValid)
Test an image file header to determine if it is appropriate for this device.
open_error_t openapiTransferFileLocalGet(openapiClientHandle_t *client_handle, open_buffdesc *imageLabel)
Get the label by which the file to be transferred is known by on the local system.
OPEN_DIGITAL_SIGNATURE_OPTION_t
OPEN Image Verification Options.
open_error_t openapiTransferDownloadFileTypeSet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t fileType)
Set the Transfer Download File Type.
open_error_t openapiImageHeaderSizeGet(openapiClientHandle_t *client_handle, uint32_t *headerSize)
Determine the size the image file header for this device.
open_error_t openapiTransferModeSet(openapiClientHandle_t *client_handle, OPEN_TRANSFER_MODES_t xfrMode)
Set the current transfer mode.
"backup-config" to "startup-config"
Transfer via YMODEM.
SSL PEM Server Certificate.
"running-config" to "factory-default"
open_error_t openapiCopyConfigFile(openapiClientHandle_t *client_handle, OPEN_COPY_CONFIG_DIRECTIVE_t directive)
This API copies configuration files that are located on the switch.
OPEN_TRANSFER_STATUS_t
OPEN File Transfer Status.
Transfer via XMODEM.
open_error_t openapiTransferFileTypeSet(openapiClientHandle_t *client_handle, OPEN_FILE_TYPES_t fileType)
Set the Transfer File Type.
Transfer via scp.
open_error_t openapiTransferDownStartSet(openapiClientHandle_t *client_handle)
Starts an asynchronous file download transfer operation.
Public Key Configuration.
open_error_t openapiTransferFileLocalSet(openapiClientHandle_t *client_handle, open_buffdesc *imageLabel)
Set the label by which the file to be transferred is known by on the local system.