LibOFX: libofx.h Source File

LibOFX

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

inc/libofx.h
Go to the documentation of this file.
1 /*-*-c-*-*******************************************************************
2 libofx.h - Main header file for the libofx API
3 -------------------
4 copyright : (C) 2002-2011 by Benoit Grégoire
5 email : benoitg@coeus.ca
6 ***************************************************************************/
26 /***************************************************************************
27 * *
28 * This program is free software; you can redistribute it and/or modify *
29 * it under the terms of the GNU General Public License as published by *
30 * the Free Software Foundation; either version 2 of the License, or *
31 * (at your option) any later version. *
32 * *
33 ***************************************************************************/
34
35 #ifndef LIBOFX_H
36 #define LIBOFX_H
37 #include <time.h>
38
39 #define LIBOFX_MAJOR_VERSION 0
40 #define LIBOFX_MINOR_VERSION 9
41 #define LIBOFX_MICRO_VERSION 10
42 #define LIBOFX_BUILD_VERSION 0
43 #define LIBOFX_VERSION_RELEASE_STRING "0.9.10"
44
45 #ifdef IN_LIBOFX
46 # include "config.h"
47 # ifdef HAVE_GCC_VISIBILITY_EXTS
48 # pragma GCC visibility push(default)
49 # endif
50 #endif
51
52 #ifdef __cplusplus
53 extern "C" {
54 #else
55 #define true 1
56 #define false 0
57 #endif
58
59 #define OFX_ELEMENT_NAME_LENGTH 100
60 #define OFX_SVRTID2_LENGTH (36 + 1)
61 #define OFX_CHECK_NUMBER_LENGTH (12 + 1)
62 #define OFX_REFERENCE_NUMBER_LENGTH (32 + 1)
63 #define OFX_FITID_LENGTH (255 + 1)
64 #define OFX_TOKEN2_LENGTH (36 + 1)
65 #define OFX_MEMO_LENGTH (255 + 1)
66 #define OFX_FIID_LENGTH (32 + 1)
67 #define OFX_MEMO2_LENGTH (390 + 1)
68 #define OFX_BALANCE_NAME_LENGTH (32 + 1)
69 #define OFX_BALANCE_DESCRIPTION_LENGTH (80 + 1)
70 #define OFX_CURRENCY_LENGTH (3 + 1) /* In ISO-4217 format */
71 #define OFX_BANKID_LENGTH (9 + 1)
72 #define OFX_BRANCHID_LENGTH (22 + 1)
73 #define OFX_ACCTID_LENGTH (22 + 1)
74 #define OFX_ACCTKEY_LENGTH (22 + 1)
75 #define OFX_BROKERID_LENGTH (22 + 1)
76 /* Must be MAX of <BANKID>+<BRANCHID>+<ACCTID>, <ACCTID>+<ACCTKEY> and <ACCTID>+<BROKERID> */
77 #define OFX_ACCOUNT_ID_LENGTH (OFX_BANKID_LENGTH + OFX_BRANCHID_LENGTH + OFX_ACCTID_LENGTH + 1)
78 #define OFX_ACCOUNT_NAME_LENGTH 255
79 #define OFX_MARKETING_INFO_LENGTH (360 + 1)
80 #define OFX_TRANSACTION_NAME_LENGTH (96 + 1)
81 #define OFX_UNIQUE_ID_LENGTH (32 + 1)
82 #define OFX_UNIQUE_ID_TYPE_LENGTH (10 + 1)
83 #define OFX_SECNAME_LENGTH (32 + 1)
84 #define OFX_TICKER_LENGTH (32 + 1)
85 #define OFX_ORG_LENGTH (32 + 1)
86 #define OFX_FID_LENGTH (32 + 1)
87 #define OFX_USERID_LENGTH (32 + 1)
88 #define OFX_USERPASS_LENGTH (32 + 1)
89 #define OFX_URL_LENGTH (500 + 1)
90 #define OFX_APPID_LENGTH (32)
91 #define OFX_APPVER_LENGTH (32)
92 #define OFX_HEADERVERSION_LENGTH (32)
93
94 /*
95 #define OFX_STATEMENT_CB 0;
96 #define OFX_ACCOUNT_CB 1;
97 #define OFX_TRACSACTION_CB 2;
98 #define OFX_SECURITY_CB 3;
99 #define OFX_STATUS_CB 4;
100 */
101
102 typedef void * LibofxContextPtr;
103
109 LibofxContextPtr libofx_get_new_context();
110
116 int libofx_free_context( LibofxContextPtr );
117
118 void libofx_set_dtd_dir(LibofxContextPtr libofx_context,
119 const char *s);
120
122 enum LibofxFileFormat
123 {
124 AUTODETECT,
125 OFX,
126 OFC,
127 QIF,
128 UNKNOWN,
129 LAST
130 };
131
132 struct LibofxFileFormatInfo
133 {
134 enum LibofxFileFormat format;
135 const char * format_name;
136 const char * description;
137 };
138
139
140 #ifndef OFX_AQUAMANIAC_UGLY_HACK1
141
142 const struct LibofxFileFormatInfo LibofxImportFormatList[] =
143 {
144 {AUTODETECT, "AUTODETECT", "AUTODETECT (File format will be automatically detected later)"},
145 {OFX, "OFX", "OFX (Open Financial eXchange (OFX or QFX))"},
146 {OFC, "OFC", "OFC (Microsoft Open Financial Connectivity)"},
147 {QIF, "QIF", "QIF (Intuit Quicken Interchange Format) NOT IMPLEMENTED"},
148 {LAST, "LAST", "Not a file format, meant as a loop breaking condition"}
149 };
150
151 const struct LibofxFileFormatInfo LibofxExportFormatList[] =
152 {
153 {QIF, "QIF", "QIF (Intuit Quicken Interchange Format) NOT IMPLEMENTED"},
154 {LAST, "LAST", "Not a file format, meant as a loop breaking condition"}
155 };
156
168 enum LibofxFileFormat libofx_get_file_format_from_str(const struct LibofxFileFormatInfo format_list[], const char * file_type_string);
169
181 const char * libofx_get_file_format_description(const struct LibofxFileFormatInfo format_list[], enum LibofxFileFormat file_format);
182
183 #endif
184
191 int libofx_proc_file(LibofxContextPtr libofx_context,
192 const char * p_filename,
193 enum LibofxFileFormat ftype);
194
195
208 struct OfxStatusData
209 {
214 char ofx_element_name[OFX_ELEMENT_NAME_LENGTH];
216 int ofx_element_name_valid;
217
222 int code;
223 const char* name;
224 const char* description;
225 int code_valid;
228 enum Severity
229 {
230 INFO,
231 WARN,
232 ERROR
233 } severity;
234 int severity_valid;
235
241 char* server_message;
243 int server_message_valid;
245 };
246
247
257 typedef int (*LibofxProcStatusCallback)(const struct OfxStatusData data, void * status_data);
258
270 struct OfxAccountData
271 {
272
284 char account_id[OFX_ACCOUNT_ID_LENGTH];
285
291 char account_name[OFX_ACCOUNT_NAME_LENGTH];
292 int account_id_valid;/* Use for both account_id and account_name */
293
296 enum AccountType
297 {
298 OFX_CHECKING,
299 OFX_SAVINGS,
300 OFX_MONEYMRKT,
301 OFX_CREDITLINE,
302 OFX_CMA,
303 OFX_CREDITCARD,
304 OFX_INVESTMENT
305 } account_type;
306 int account_type_valid;
307
309 char currency[OFX_CURRENCY_LENGTH];
310 int currency_valid;
311
313 char account_number[OFX_ACCTID_LENGTH];
314 int account_number_valid;
315
317 char bank_id[OFX_BANKID_LENGTH];
318 int bank_id_valid;
319
320 char broker_id[OFX_BROKERID_LENGTH];
321 int broker_id_valid;
322
323 char branch_id[OFX_BRANCHID_LENGTH];
324 int branch_id_valid;
325
326 };
327
342 typedef int (*LibofxProcAccountCallback)(const struct OfxAccountData data, void * account_data);
343
351 struct OfxSecurityData
352 {
360 char unique_id[OFX_UNIQUE_ID_LENGTH];
361 int unique_id_valid;
362
363 char unique_id_type[OFX_UNIQUE_ID_TYPE_LENGTH];
365 int unique_id_type_valid;
366
367 char secname[OFX_SECNAME_LENGTH];
368 int secname_valid;
369
375 char ticker[OFX_TICKER_LENGTH];
376 int ticker_valid;
377
378 double unitprice;
380 int unitprice_valid;
381
382 time_t date_unitprice;
383 int date_unitprice_valid;
384
387 char currency[OFX_CURRENCY_LENGTH];
388 int currency_valid;
389
390 char memo[OFX_MEMO2_LENGTH];
391 int memo_valid;
392
395 char fiid[OFX_FIID_LENGTH];
396 int fiid_valid;
397
398 };/* end struct OfxSecurityData */
399
413 typedef int (*LibofxProcSecurityCallback)(const struct OfxSecurityData data, void * security_data);
414
415 typedef enum
416 {
417 OFX_CREDIT,
418 OFX_DEBIT,
419 OFX_INT,
420 OFX_DIV,
421 OFX_FEE,
422 OFX_SRVCHG,
423 OFX_DEP,
424 OFX_ATM,
425 OFX_POS,
426 OFX_XFER,
427 OFX_CHECK,
428 OFX_PAYMENT,
429 OFX_CASH,
430 OFX_DIRECTDEP,
431 OFX_DIRECTDEBIT,
432 OFX_REPEATPMT,
433 OFX_OTHER
434 } TransactionType;
435
436 typedef enum
437 {
438 OFX_BUYDEBT,
439 OFX_BUYMF,
440 OFX_BUYOPT,
441 OFX_BUYOTHER,
442 OFX_BUYSTOCK,
443 OFX_CLOSUREOPT,
444 OFX_INCOME,
445 OFX_INVEXPENSE,
446 OFX_JRNLFUND,
447 OFX_JRNLSEC,
448 OFX_MARGININTEREST,
449 OFX_REINVEST,
450 OFX_RETOFCAP,
451 OFX_SELLDEBT,
452 OFX_SELLMF,
453 OFX_SELLOPT,
454 OFX_SELLOTHER,
455 OFX_SELLSTOCK,
456 OFX_SPLIT,
457 OFX_TRANSFER
458 } InvTransactionType;
459
460 typedef enum
461 {
462 DELETE,
464 REPLACE
466 } FiIdCorrectionAction;
467
474 struct OfxTransactionData
475 {
476
482 char account_id[OFX_ACCOUNT_ID_LENGTH];
485 struct OfxAccountData * account_ptr;
487 int account_id_valid;
488
489 TransactionType transactiontype;
490 int transactiontype_valid;
491
495 InvTransactionType invtransactiontype;
496 int invtransactiontype_valid;
497
505 double units;
506 int units_valid;
507
508 double unitprice;
510 int unitprice_valid;
511
512 double amount;
516 int amount_valid;
517
518 char fi_id[256];
521 int fi_id_valid;
522
530 char unique_id[OFX_UNIQUE_ID_LENGTH];
531 int unique_id_valid;
532 char unique_id_type[OFX_UNIQUE_ID_TYPE_LENGTH];
534 int unique_id_type_valid;
535
536 struct OfxSecurityData *security_data_ptr;
537 int security_data_valid;
538
539 time_t date_posted;
544 int date_posted_valid;
545
546 time_t date_initiated;
552 int date_initiated_valid;
553
554 time_t date_funds_available;
557 int date_funds_available_valid;
558
562 char fi_id_corrected[256];
563 int fi_id_corrected_valid;
564
567 FiIdCorrectionAction fi_id_correction_action;
568 int fi_id_correction_action_valid;
569
572 char server_transaction_id[OFX_SVRTID2_LENGTH];
573 int server_transaction_id_valid;
574
578 char check_number[OFX_CHECK_NUMBER_LENGTH];
579 int check_number_valid;
580
583 char reference_number[OFX_REFERENCE_NUMBER_LENGTH];
584 int reference_number_valid;
585
586 long int standard_industrial_code;
588 int standard_industrial_code_valid;
589
590 char payee_id[OFX_SVRTID2_LENGTH];
591 int payee_id_valid;
592
593 char name[OFX_TRANSACTION_NAME_LENGTH];
595 int name_valid;
596
597 char memo[OFX_MEMO2_LENGTH];
598 int memo_valid;
599
600 double commission;
601 int commission_valid;
602
603 double fees;
604 int fees_valid;
605
606 double oldunits; /*number of units held before stock split */
607 int oldunits_valid;
608
609 double newunits; /*number of units held after stock split */
610 int newunits_valid;
611
612
613 /*********** NOT YET COMPLETE!!! *********************/
614 };
615
625 typedef int (*LibofxProcTransactionCallback)(const struct OfxTransactionData data, void * transaction_data);
626
636 struct OfxStatementData
637 {
638
646 char currency[OFX_CURRENCY_LENGTH];
647 int currency_valid;
648
649 char account_id[OFX_ACCOUNT_ID_LENGTH];
651 struct OfxAccountData * account_ptr;
653 int account_id_valid;
654
657 double ledger_balance;
658 int ledger_balance_valid;
659
660 time_t ledger_balance_date;
661 int ledger_balance_date_valid;
662
668 double available_balance;
671 int available_balance_valid;
672
673 time_t available_balance_date;
674 int available_balance_date_valid;
675
680 time_t date_start;
681 int date_start_valid;
682
687 time_t date_end;
688 int date_end_valid;
689
692 char marketing_info[OFX_MARKETING_INFO_LENGTH];
693 int marketing_info_valid;
694 };
695
703 typedef int (*LibofxProcStatementCallback)(const struct OfxStatementData data, void * statement_data);
704
708 struct OfxCurrency
709 {
710 char currency[OFX_CURRENCY_LENGTH];
711 double exchange_rate;
712 int must_convert;
713 };
714
715
722 void ofx_set_status_cb(LibofxContextPtr ctx,
723 LibofxProcStatusCallback cb,
724 void *user_data);
725
732 void ofx_set_account_cb(LibofxContextPtr ctx,
733 LibofxProcAccountCallback cb,
734 void *user_data);
735
742 void ofx_set_security_cb(LibofxContextPtr ctx,
743 LibofxProcSecurityCallback cb,
744 void *user_data);
745
752 void ofx_set_transaction_cb(LibofxContextPtr ctx,
753 LibofxProcTransactionCallback cb,
754 void *user_data);
755
762 void ofx_set_statement_cb(LibofxContextPtr ctx,
763 LibofxProcStatementCallback cb,
764 void *user_data);
765
766
770 int libofx_proc_buffer(LibofxContextPtr ctx,
771 const char *s, unsigned int size);
772
773
774 /* **************************************** */
775
781
785 struct OfxFiServiceInfo
786 {
787 char fid[OFX_FID_LENGTH];
788 char org[OFX_ORG_LENGTH];
789 char url[OFX_URL_LENGTH];
790 int accountlist;
791 int statements;
792 int billpay;
793 int investments;
794 };
795
805 struct OfxFiLogin
806 {
807 char fid[OFX_FID_LENGTH];
808 char org[OFX_ORG_LENGTH];
809 char userid[OFX_USERID_LENGTH];
810 char userpass[OFX_USERPASS_LENGTH];
811 char header_version[OFX_HEADERVERSION_LENGTH];
812 char appid[OFX_APPID_LENGTH];
813 char appver[OFX_APPVER_LENGTH];
814 };
815
816 #define OFX_AMOUNT_LENGTH (32 + 1)
817 #define OFX_PAYACCT_LENGTH (32 + 1)
818 #define OFX_STATE_LENGTH (5 + 1)
819 #define OFX_POSTALCODE_LENGTH (11 + 1)
820 #define OFX_NAME_LENGTH (32 + 1)
821
822 struct OfxPayment
823 {
824 char amount[OFX_AMOUNT_LENGTH];
825 char account[OFX_PAYACCT_LENGTH];
826 char datedue[9];
827 char memo[OFX_MEMO_LENGTH];
828 };
829
830 struct OfxPayee
831 {
832 char name[OFX_NAME_LENGTH];
833 char address1[OFX_NAME_LENGTH];
834 char city[OFX_NAME_LENGTH];
835 char state[OFX_STATE_LENGTH];
836 char postalcode[OFX_POSTALCODE_LENGTH];
837 char phone[OFX_NAME_LENGTH];
838 };
839
851 char* libofx_request_statement( const struct OfxFiLogin* fi, const struct OfxAccountData* account, time_t date_from );
852
863 char* libofx_request_accountinfo( const struct OfxFiLogin* login );
864
865 char* libofx_request_payment( const struct OfxFiLogin* login, const struct OfxAccountData* account, const struct OfxPayee* payee, const struct OfxPayment* payment );
866
867 char* libofx_request_payment_status( const struct OfxFiLogin* login, const char* transactionid );
868
870
871 extern int ofx_PARSER_msg;
872 extern int ofx_DEBUG_msg;
873 extern int ofx_DEBUG1_msg;
874 extern int ofx_DEBUG2_msg;
875 extern int ofx_DEBUG3_msg;
876 extern int ofx_DEBUG4_msg;
877 extern int ofx_DEBUG5_msg;
878 extern int ofx_STATUS_msg;
879 extern int ofx_INFO_msg;
880 extern int ofx_WARNING_msg;
881 extern int ofx_ERROR_msg;
882 extern int ofx_show_position;
884 #ifdef __cplusplus
885 } // end of extern "C"
886 #endif
887
888 #if defined(HAVE_GCC_VISIBILITY_EXTS) && defined(IN_LIBOFX)
889 # pragma GCC visibility pop
890 #endif
891
892 #endif // end of LIBOFX_H
OFX_INT
Definition: inc/libofx.h:419
OFX_OTHER
Definition: inc/libofx.h:433
OfxTransactionData::date_posted
time_t date_posted
Definition: inc/libofx.h:539
OFX_RETOFCAP
Definition: inc/libofx.h:450
AUTODETECT
Definition: inc/libofx.h:124
OfxStatementData::ledger_balance_date
time_t ledger_balance_date
Definition: inc/libofx.h:660
OfxAccountData
An abstraction of an account.
Definition: inc/libofx.h:270
OfxPayee
Definition: inc/libofx.h:830
OFX_JRNLSEC
Definition: inc/libofx.h:447
OFX_POS
Definition: inc/libofx.h:425
libofx_get_file_format_from_str
enum LibofxFileFormat libofx_get_file_format_from_str(const struct LibofxFileFormatInfo format_list[], const char *file_type_string)
libofx_get_file_type returns a proper enum from a file type string.
Definition: file_preproc.cpp:54
OfxStatusData::code_valid
int code_valid
Definition: inc/libofx.h:225
OFX_REPEATPMT
Definition: inc/libofx.h:432
DELETE
Definition: inc/libofx.h:462
OfxStatusData::Severity
Severity
Definition: inc/libofx.h:228
LibofxFileFormatInfo
Definition: inc/libofx.h:132
ofx_DEBUG1_msg
int ofx_DEBUG1_msg
Definition: messages.cpp:32
LibofxFileFormatInfo::format
enum LibofxFileFormat format
Definition: inc/libofx.h:134
OFX_ATM
Definition: inc/libofx.h:424
OfxTransactionData::reference_number
char reference_number[OFX_REFERENCE_NUMBER_LENGTH]
Definition: inc/libofx.h:583
LibofxProcAccountCallback
int(* LibofxProcAccountCallback)(const struct OfxAccountData data, void *account_data)
The callback function for the OfxAccountData stucture.
Definition: inc/libofx.h:342
OFX_MARGININTEREST
Definition: inc/libofx.h:448
InvTransactionType
InvTransactionType
Definition: inc/libofx.h:436
OfxStatementData::available_balance
double available_balance
Definition: inc/libofx.h:668
libofx_request_statement
char * libofx_request_statement(const struct OfxFiLogin *fi, const struct OfxAccountData *account, time_t date_from)
Creates an OFX statement request in string form.
OfxTransactionData::units
double units
Definition: inc/libofx.h:505
OfxTransactionData::unique_id
char unique_id[OFX_UNIQUE_ID_LENGTH]
Definition: inc/libofx.h:530
OfxAccountData::account_id
char account_id[OFX_ACCOUNT_ID_LENGTH]
Definition: inc/libofx.h:284
LibofxFileFormatInfo::description
const char * description
Definition: inc/libofx.h:136
OfxCurrency::exchange_rate
double exchange_rate
Definition: inc/libofx.h:711
OfxStatusData::description
const char * description
Definition: inc/libofx.h:224
OfxTransactionData::fi_id_corrected
char fi_id_corrected[256]
Definition: inc/libofx.h:562
LibofxProcTransactionCallback
int(* LibofxProcTransactionCallback)(const struct OfxTransactionData data, void *transaction_data)
The callback function for the OfxTransactionData stucture.
Definition: inc/libofx.h:625
OfxAccountData::OFX_SAVINGS
Definition: inc/libofx.h:299
OfxAccountData::currency
char currency[OFX_CURRENCY_LENGTH]
Definition: inc/libofx.h:309
OfxTransactionData::check_number
char check_number[OFX_CHECK_NUMBER_LENGTH]
Definition: inc/libofx.h:578
OfxStatementData::date_start
time_t date_start
Definition: inc/libofx.h:680
OfxStatusData::ERROR
Definition: inc/libofx.h:232
OFX_BUYOTHER
Definition: inc/libofx.h:441
OfxStatementData::date_end
time_t date_end
Definition: inc/libofx.h:687
OfxFiServiceInfo::accountlist
int accountlist
Definition: inc/libofx.h:790
OfxAccountData::OFX_CREDITCARD
Definition: inc/libofx.h:303
OfxTransactionData::transactiontype_valid
int transactiontype_valid
Definition: inc/libofx.h:490
OfxTransactionData::name
char name[OFX_TRANSACTION_NAME_LENGTH]
Definition: inc/libofx.h:593
OfxTransactionData::fi_id
char fi_id[256]
Definition: inc/libofx.h:518
OFX_SELLDEBT
Definition: inc/libofx.h:451
OFX_CHECK
Definition: inc/libofx.h:427
OFX_FEE
Definition: inc/libofx.h:421
OfxStatusData::INFO
Definition: inc/libofx.h:230
OfxTransactionData::commission
double commission
Definition: inc/libofx.h:600
OfxFiServiceInfo::investments
int investments
Definition: inc/libofx.h:793
OFX
Definition: inc/libofx.h:125
OFX_CASH
Definition: inc/libofx.h:429
OfxStatementData::marketing_info
char marketing_info[OFX_MARKETING_INFO_LENGTH]
Definition: inc/libofx.h:692
OfxTransactionData::memo
char memo[OFX_MEMO2_LENGTH]
Definition: inc/libofx.h:597
OfxTransactionData::fi_id_correction_action
FiIdCorrectionAction fi_id_correction_action
Definition: inc/libofx.h:567
OFX_BUYDEBT
Definition: inc/libofx.h:438
OfxFiServiceInfo::billpay
int billpay
Definition: inc/libofx.h:792
OfxSecurityData::currency
char currency[OFX_CURRENCY_LENGTH]
Definition: inc/libofx.h:387
OFX_SPLIT
Definition: inc/libofx.h:456
OFX_CLOSUREOPT
Definition: inc/libofx.h:443
OFX_TRANSFER
Definition: inc/libofx.h:457
libofx_request_accountinfo
char * libofx_request_accountinfo(const struct OfxFiLogin *login)
Creates an OFX account info (list) request in string form.
OfxStatusData::WARN
Definition: inc/libofx.h:231
REPLACE
Definition: inc/libofx.h:464
ofx_STATUS_msg
int ofx_STATUS_msg
Definition: messages.cpp:37
ofx_WARNING_msg
int ofx_WARNING_msg
Definition: messages.cpp:39
LibofxProcSecurityCallback
int(* LibofxProcSecurityCallback)(const struct OfxSecurityData data, void *security_data)
The callback function for the OfxSecurityData stucture.
Definition: inc/libofx.h:413
OfxPayment
Definition: inc/libofx.h:822
QIF
Definition: inc/libofx.h:127
libofx_get_new_context
LibofxContextPtr libofx_get_new_context()
Initialise the library and return a new context.
Definition: context.cpp:153
LAST
Definition: inc/libofx.h:129
OfxStatusData::code
int code
Definition: inc/libofx.h:222
ofx_PARSER_msg
int ofx_PARSER_msg
Definition: messages.cpp:30
libofx_get_file_format_description
const char * libofx_get_file_format_description(const struct LibofxFileFormatInfo format_list[], enum LibofxFileFormat file_format)
get_file_format_description returns a string description of a LibofxFileType.
Definition: file_preproc.cpp:37
OfxTransactionData::standard_industrial_code
long int standard_industrial_code
Definition: inc/libofx.h:586
OfxStatementData::account_id
char account_id[OFX_ACCOUNT_ID_LENGTH]
Definition: inc/libofx.h:649
OfxSecurityData::memo
char memo[OFX_MEMO2_LENGTH]
Definition: inc/libofx.h:390
UNKNOWN
Definition: inc/libofx.h:128
OFX_BUYMF
Definition: inc/libofx.h:439
ofx_set_statement_cb
void ofx_set_statement_cb(LibofxContextPtr ctx, LibofxProcStatementCallback cb, void *user_data)
Definition: context.cpp:213
OfxSecurityData::fiid
char fiid[OFX_FIID_LENGTH]
Definition: inc/libofx.h:395
OFX_SELLSTOCK
Definition: inc/libofx.h:455
ofx_set_status_cb
void ofx_set_status_cb(LibofxContextPtr ctx, LibofxProcStatusCallback cb, void *user_data)
Definition: context.cpp:178
ofx_set_account_cb
void ofx_set_account_cb(LibofxContextPtr ctx, LibofxProcAccountCallback cb, void *user_data)
Definition: context.cpp:186
OfxTransactionData::date_initiated
time_t date_initiated
Definition: inc/libofx.h:546
OfxCurrency::currency
char currency[OFX_CURRENCY_LENGTH]
Definition: inc/libofx.h:710
OfxTransactionData::account_id
char account_id[OFX_ACCOUNT_ID_LENGTH]
Definition: inc/libofx.h:482
OFX_CREDIT
Definition: inc/libofx.h:417
OfxSecurityData::unique_id
char unique_id[OFX_UNIQUE_ID_LENGTH]
Definition: inc/libofx.h:360
OFX_DEP
Definition: inc/libofx.h:423
OFX_JRNLFUND
Definition: inc/libofx.h:446
OFX_SELLMF
Definition: inc/libofx.h:452
OfxAccountData::account_name
char account_name[OFX_ACCOUNT_NAME_LENGTH]
Definition: inc/libofx.h:291
OfxAccountData::OFX_MONEYMRKT
Definition: inc/libofx.h:300
OfxTransactionData::unitprice
double unitprice
Definition: inc/libofx.h:508
FiIdCorrectionAction
FiIdCorrectionAction
Definition: inc/libofx.h:460
OfxStatusData::server_message
char * server_message
Definition: inc/libofx.h:241
OfxTransactionData::account_ptr
struct OfxAccountData * account_ptr
Definition: inc/libofx.h:485
OfxSecurityData::date_unitprice
time_t date_unitprice
Definition: inc/libofx.h:382
libofx_proc_buffer
int libofx_proc_buffer(LibofxContextPtr ctx, const char *s, unsigned int size)
TransactionType
TransactionType
Definition: inc/libofx.h:415
OfxTransactionData::server_transaction_id
char server_transaction_id[OFX_SVRTID2_LENGTH]
Definition: inc/libofx.h:572
OfxStatementData::account_ptr
struct OfxAccountData * account_ptr
Definition: inc/libofx.h:651
OFX_SRVCHG
Definition: inc/libofx.h:422
OFX_BUYSTOCK
Definition: inc/libofx.h:442
ofx_DEBUG5_msg
int ofx_DEBUG5_msg
Definition: messages.cpp:36
OfxAccountData::AccountType
AccountType
Definition: inc/libofx.h:296
OfxAccountData::bank_id
char bank_id[OFX_BANKID_LENGTH]
Definition: inc/libofx.h:317
OFX_DIRECTDEBIT
Definition: inc/libofx.h:431
OFX_SELLOTHER
Definition: inc/libofx.h:454
LibofxProcStatusCallback
int(* LibofxProcStatusCallback)(const struct OfxStatusData data, void *status_data)
The callback function for the OfxStatusData stucture.
Definition: inc/libofx.h:257
OFX_PAYMENT
Definition: inc/libofx.h:428
ofx_show_position
int ofx_show_position
Definition: messages.cpp:41
OFX_BUYOPT
Definition: inc/libofx.h:440
OfxTransactionData::amount
double amount
Definition: inc/libofx.h:512
OFX_INCOME
Definition: inc/libofx.h:444
OfxStatusData
An abstraction of an OFX STATUS element.
Definition: inc/libofx.h:208
OFX_SELLOPT
Definition: inc/libofx.h:453
ofx_set_security_cb
void ofx_set_security_cb(LibofxContextPtr ctx, LibofxProcSecurityCallback cb, void *user_data)
Definition: context.cpp:195
OfxSecurityData::unitprice
double unitprice
Definition: inc/libofx.h:378
OfxSecurityData::unique_id_type
char unique_id_type[OFX_UNIQUE_ID_TYPE_LENGTH]
Definition: inc/libofx.h:363
OFX_REINVEST
Definition: inc/libofx.h:449
ofx_DEBUG4_msg
int ofx_DEBUG4_msg
Definition: messages.cpp:35
LibofxFileFormatInfo::format_name
const char * format_name
Definition: inc/libofx.h:135
ofx_ERROR_msg
int ofx_ERROR_msg
Definition: messages.cpp:40
OfxStatementData::available_balance_date_valid
int available_balance_date_valid
Definition: inc/libofx.h:674
OfxSecurityData::ticker
char ticker[OFX_TICKER_LENGTH]
Definition: inc/libofx.h:375
OfxTransactionData::security_data_valid
int security_data_valid
Definition: inc/libofx.h:537
OFC
Definition: inc/libofx.h:126
OfxFiServiceInfo
Information returned by the OFX Partner Server about a financial institution.
Definition: inc/libofx.h:785
OfxTransactionData::payee_id
char payee_id[OFX_SVRTID2_LENGTH]
Definition: inc/libofx.h:590
OfxSecurityData
An abstraction of a security, such as a stock, mutual fund, etc.
Definition: inc/libofx.h:351
OfxStatusData::ofx_element_name_valid
int ofx_element_name_valid
Definition: inc/libofx.h:216
ofx_set_transaction_cb
void ofx_set_transaction_cb(LibofxContextPtr ctx, LibofxProcTransactionCallback cb, void *user_data)
Definition: context.cpp:204
ofx_DEBUG2_msg
int ofx_DEBUG2_msg
Definition: messages.cpp:33
LibofxProcStatementCallback
int(* LibofxProcStatementCallback)(const struct OfxStatementData data, void *statement_data)
The callback function for the OfxStatementData stucture.
Definition: inc/libofx.h:703
OfxTransactionData::fees
double fees
Definition: inc/libofx.h:603
ofx_INFO_msg
int ofx_INFO_msg
Definition: messages.cpp:38
OFX_DEBIT
Definition: inc/libofx.h:418
OfxTransactionData
An abstraction of a transaction in an account.
Definition: inc/libofx.h:474
OfxCurrency::must_convert
int must_convert
Definition: inc/libofx.h:712
OfxTransactionData::date_funds_available
time_t date_funds_available
Definition: inc/libofx.h:554
OfxCurrency
NOT YET SUPPORTED.
Definition: inc/libofx.h:708
LibofxFileFormat
LibofxFileFormat
Definition: inc/libofx.h:122
OfxAccountData::OFX_CMA
Definition: inc/libofx.h:302
OFX_XFER
Definition: inc/libofx.h:426
libofx_proc_file
int libofx_proc_file(LibofxContextPtr libofx_context, const char *p_filename, enum LibofxFileFormat ftype)
libofx_proc_file is the entry point of the library.
Definition: file_preproc.cpp:67
OfxStatusData::name
const char * name
Definition: inc/libofx.h:223
OfxAccountData::account_number
char account_number[OFX_ACCTID_LENGTH]
Definition: inc/libofx.h:313
OFX_DIV
Definition: inc/libofx.h:420
ofx_DEBUG_msg
int ofx_DEBUG_msg
Definition: messages.cpp:31
OfxAccountData::OFX_CREDITLINE
Definition: inc/libofx.h:301
OfxTransactionData::unique_id_type
char unique_id_type[OFX_UNIQUE_ID_TYPE_LENGTH]
Definition: inc/libofx.h:532
OFX_INVEXPENSE
Definition: inc/libofx.h:445
OfxStatementData::currency
char currency[OFX_CURRENCY_LENGTH]
Definition: inc/libofx.h:646
OfxFiServiceInfo::statements
int statements
Definition: inc/libofx.h:791
OfxAccountData::OFX_INVESTMENT
Definition: inc/libofx.h:304
OfxAccountData::OFX_CHECKING
Definition: inc/libofx.h:298
OfxStatementData::ledger_balance
double ledger_balance
Definition: inc/libofx.h:657
OFX_DIRECTDEP
Definition: inc/libofx.h:430
libofx_free_context
int libofx_free_context(LibofxContextPtr)
Free all ressources used by this context.
Definition: context.cpp:158
OfxStatementData
An abstraction of an account statement.
Definition: inc/libofx.h:636
OfxSecurityData::secname
char secname[OFX_SECNAME_LENGTH]
Definition: inc/libofx.h:367
ofx_DEBUG3_msg
int ofx_DEBUG3_msg
Definition: messages.cpp:34
OfxFiLogin
Information sufficient to log into an financial institution.
Definition: inc/libofx.h:805