fix commit transaction

This commit is contained in:
merlokk 2021-08-12 19:09:21 +03:00
parent 20fd5e42c4
commit e8c3211f25
2 changed files with 9 additions and 2 deletions

View file

@ -1841,13 +1841,19 @@ int DesfireCommitReaderID(DesfireContext *dctx, uint8_t *readerid, size_t reader
return DesfireCommand(dctx, MFDES_COMMIT_READER_ID, rid, 16, resp, resplen, -1);
}
int DesfireCommitTransaction(DesfireContext *dctx, bool enable_options, uint8_t options) {
int DesfireCommitTransactionEx(DesfireContext *dctx, bool enable_options, uint8_t options, uint8_t *resp, size_t *resplen) {
if (enable_options)
return DesfireCommandTxData(dctx, MFDES_COMMIT_TRANSACTION, &options, 1);
return DesfireCommand(dctx, MFDES_COMMIT_TRANSACTION, &options, 1, resp, resplen, -1);
else
return DesfireCommandNoData(dctx, MFDES_COMMIT_TRANSACTION);
}
int DesfireCommitTransaction(DesfireContext *dctx, bool enable_options, uint8_t options) {
uint8_t resp[250] = {0};
size_t resplen = 0;
return DesfireCommitTransactionEx(dctx, enable_options, options, resp, &resplen);
}
int DesfireAbortTransaction(DesfireContext *dctx) {
return DesfireCommandNoData(dctx, MFDES_ABORT_TRANSACTION);
}

View file

@ -230,6 +230,7 @@ const char *GetDesfireFileType(uint8_t type);
int DesfireCreateFile(DesfireContext *dctx, uint8_t ftype, uint8_t *fdata, size_t fdatalen, bool checklen);
int DesfireDeleteFile(DesfireContext *dctx, uint8_t fnum);
int DesfireCommitReaderID(DesfireContext *dctx, uint8_t *readerid, size_t readeridlen, uint8_t *resp, size_t *resplen);
int DesfireCommitTransactionEx(DesfireContext *dctx, bool enable_options, uint8_t options, uint8_t *resp, size_t *resplen);
int DesfireCommitTransaction(DesfireContext *dctx, bool enable_options, uint8_t options);
int DesfireAbortTransaction(DesfireContext *dctx);