Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EotPacket provides transaction status, but defines are internal #449

Open
3 tasks done
skliper opened this issue Jun 6, 2024 · 0 comments
Open
3 tasks done

EotPacket provides transaction status, but defines are internal #449

skliper opened this issue Jun 6, 2024 · 0 comments

Comments

@skliper
Copy link
Contributor

skliper commented Jun 6, 2024

Checklist (Please check before submitting)

  • I reviewed the Contributing Guide.
  • I reviewed the CF README.md file to see if the feature is in the major future work.
  • I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.

Is your feature request related to a problem? Please describe.
Eot provides transaction status:

EotPktPtr->Payload.txn_stat = txn->history->txn_stat;

Values are internal:

CF/fsw/src/cf_cfdp_types.h

Lines 132 to 166 in 12eff1c

typedef enum
{
/**
* The undefined status is a placeholder for new transactions before a value is set.
*/
CF_TxnStatus_UNDEFINED = -1,
/* Status codes 0-15 share the same values/meanings as the CFDP condition code (CC) */
CF_TxnStatus_NO_ERROR = CF_CFDP_ConditionCode_NO_ERROR,
CF_TxnStatus_POS_ACK_LIMIT_REACHED = CF_CFDP_ConditionCode_POS_ACK_LIMIT_REACHED,
CF_TxnStatus_KEEP_ALIVE_LIMIT_REACHED = CF_CFDP_ConditionCode_KEEP_ALIVE_LIMIT_REACHED,
CF_TxnStatus_INVALID_TRANSMISSION_MODE = CF_CFDP_ConditionCode_INVALID_TRANSMISSION_MODE,
CF_TxnStatus_FILESTORE_REJECTION = CF_CFDP_ConditionCode_FILESTORE_REJECTION,
CF_TxnStatus_FILE_CHECKSUM_FAILURE = CF_CFDP_ConditionCode_FILE_CHECKSUM_FAILURE,
CF_TxnStatus_FILE_SIZE_ERROR = CF_CFDP_ConditionCode_FILE_SIZE_ERROR,
CF_TxnStatus_NAK_LIMIT_REACHED = CF_CFDP_ConditionCode_NAK_LIMIT_REACHED,
CF_TxnStatus_INACTIVITY_DETECTED = CF_CFDP_ConditionCode_INACTIVITY_DETECTED,
CF_TxnStatus_INVALID_FILE_STRUCTURE = CF_CFDP_ConditionCode_INVALID_FILE_STRUCTURE,
CF_TxnStatus_CHECK_LIMIT_REACHED = CF_CFDP_ConditionCode_CHECK_LIMIT_REACHED,
CF_TxnStatus_UNSUPPORTED_CHECKSUM_TYPE = CF_CFDP_ConditionCode_UNSUPPORTED_CHECKSUM_TYPE,
CF_TxnStatus_SUSPEND_REQUEST_RECEIVED = CF_CFDP_ConditionCode_SUSPEND_REQUEST_RECEIVED,
CF_TxnStatus_CANCEL_REQUEST_RECEIVED = CF_CFDP_ConditionCode_CANCEL_REQUEST_RECEIVED,
/* Additional status codes for items not representable in a CFDP CC, these can be set in
* transactions that did not make it to the point of sending FIN/EOF. */
CF_TxnStatus_PROTOCOL_ERROR = 16,
CF_TxnStatus_ACK_LIMIT_NO_FIN = 17,
CF_TxnStatus_ACK_LIMIT_NO_EOF = 18,
CF_TxnStatus_NAK_RESPONSE_ERROR = 19,
CF_TxnStatus_SEND_EOF_FAILURE = 20,
CF_TxnStatus_EARLY_FIN = 21,
/* keep last */
CF_TxnStatus_MAX = 22
} CF_TxnStatus_t;

Describe the solution you'd like
To be of any real use these should be exposed, probably in default_cf_extern_typedefs.h

Describe alternatives you've considered
None

Additional context
None

Requester Info
Jacob Hageman - NASA/GSFC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant