#ifndef _EXT_DLL_H
#define _EXT_DLL_H
extern "C" __declspec(dllimport) BOOL EnablePort(char* port, BYTE size, BYTE parity                     //DEFAULT
                                  ,BYTE stopbit, DWORD baudrate, BYTE control);
extern "C" __declspec(dllimport) BOOL DisablePort();                                                    //DEFAULT
extern "C" __declspec(dllimport) int exe_cmd(BYTE *pbp_cmd, BYTE *pbp_dat, UINT piu_dat_len);           //DEFAULT
extern "C" __declspec(dllimport) int chk_res(BYTE *pbp_res ,unsigned int *pipu_res_len                  //DEFAULT
 , BYTE * pbp_prc_no, int *pi_errno);                                                           
extern "C" __declspec(dllimport) void exe_stop();                                                       //DEFAULT
extern "C" __declspec(dllimport) void call_src_ver();                                                   //DEFAULT

extern "C" __declspec(dllimport) int model();                                                           //C11 v
extern "C" __declspec(dllimport) int fw_version();                                                      //C12 v
extern "C" __declspec(dllimport) int chk_stacker();                                                     //C13 v
extern "C" __declspec(dllimport) int get_stat();                                                        //C14 v
extern "C" __declspec(dllimport) int get_stat_in_port();                                                //C17 v

extern "C" __declspec(dllimport) int get_err();                                                         //C15
extern "C" __declspec(dllimport) int card_position();                                                   //C16 v
extern "C" __declspec(dllimport) int set_rtc(BYTE pb_mode, BYTE* pbp_dat);                              //C21 v
extern "C" __declspec(dllimport) int ejt_mode(BYTE pb_mode, BYTE pb_ejt);                               //C22
extern "C" __declspec(dllimport) int capture_time(BYTE pb_mode, BYTE pb_time);                          //C23
extern "C" __declspec(dllimport) int rty_cnt(BYTE pb_mode, BYTE pb_cnt);                                //C24 v
extern "C" __declspec(dllimport) int buzz(BYTE pb_mode, BYTE pb_pm);                                    //C25 v
extern "C" __declspec(dllimport) int baudrate(BYTE pb_pm);                                              //C26 v
extern "C" __declspec(dllimport) int wait_mode(BYTE pb_mode, BYTE pb_wait);                             //C27
extern "C" __declspec(dllimport) int stk_priority_mode(BYTE pb_mode, BYTE pb_priority);                 //C28
extern "C" __declspec(dllimport) int card_stk_mov(BYTE pb_stk, BYTE pb_mdl);                            //C31
extern "C" __declspec(dllimport) int card_coll();                                            //C39 v
extern "C" __declspec(dllimport) int card_mov(BYTE pb_pm);                                              //C32 v
extern "C" __declspec(dllimport) int card_eject(BYTE pb_pm);                                            //C36, C37 v
extern "C" __declspec(dllimport) int card_eject_ag();													//T33
extern "C" __declspec(dllimport) int card_drop();                                                       //C36
extern "C" __declspec(dllimport) int card_capture();                                                    //C34
extern "C" __declspec(dllimport) int tm_rst();                                                          //C42
extern "C" __declspec(dllimport) int buzz_manual(BYTE pb_mode, BYTE* pbp_dat);                          //C40 v
extern "C" __declspec(dllimport) int ic_pts(BYTE pb_pm1, BYTE pb_pm2);									//C43

extern "C" __declspec(dllimport) int ms_rd(BYTE pb_tr);                                                 //M31, M35
extern "C" __declspec(dllimport) int ms_wt(BYTE pb_stk, BYTE pb_tr, BYTE *pbp_dat, UINT piu_dat_len);   //M33, M34
extern "C" __declspec(dllimport) int ms_clean();                                                        //M51
extern "C" __declspec(dllimport) int ic_reset();                                                        //I21
extern "C" __declspec(dllimport) int ic_exe(BYTE *pbp_dat, UINT piu_dat_len);                           //I22

extern "C" __declspec(dllimport) int sam_reset();														//I25
extern "C" __declspec(dllimport) int sam_exe(BYTE *pbp_dat, UINT piu_dat_len);							//I26
extern "C" __declspec(dllimport) int sam_deact();														//I27

extern "C" __declspec(dllimport) int mi_rd_blk(BYTE pb_sct, BYTE pb_blk);                               //R31 v
extern "C" __declspec(dllimport) int mi_wt_blk(BYTE pb_sct, BYTE pb_blk, BYTE *pbp_dat);                //R32 v

extern "C" __declspec(dllimport) int mi_rd_blk_no_sens(BYTE pb_sct, BYTE pb_blk);                       //R33 v
extern "C" __declspec(dllimport) int mi_wt_blk_no_sens(BYTE pb_sct, BYTE pb_blk, BYTE *pbp_dat);        //R34 v

extern "C" __declspec(dllimport) int mi_rd_sct(BYTE pb_sct);                                            //R36 v
extern "C" __declspec(dllimport) int mi_wt_sct(BYTE pb_sct, BYTE *pbp_dat);                             //R37 v

extern "C" __declspec(dllimport) int mi_bal_inc(BYTE pb_sct, BYTE pb_blk, ULONG plu_value);             //R41 v
extern "C" __declspec(dllimport) int mi_bal_dec(BYTE pb_sct, BYTE pb_blk, ULONG plu_value);             //R42 v

extern "C" __declspec(dllimport) int mi_bal_inc_no_sens(BYTE pb_sct, BYTE pb_blk, ULONG plu_value);     //R43 v
extern "C" __declspec(dllimport) int mi_bal_dec_no_sens(BYTE pb_sct, BYTE pb_blk, ULONG plu_value);     //R44 v

extern "C" __declspec(dllimport) int mi_cng_tm_key(BYTE pb_sct, BYTE *pbp_dat);                         //R51
extern "C" __declspec(dllimport) int mi_cng_all_tm_key(BYTE *pbp_dat);                                  //R52
extern "C" __declspec(dllimport) int mi_cng_card_key(BYTE pb_sct, BYTE pb_access, BYTE *pbp_dat);       //R54 v
extern "C" __declspec(dllimport) int mi_sel_key(BYTE pb_index);                                         //R53 v
extern "C" __declspec(dllimport) int mi_cng_tm_key_of_set(BYTE pb_set, BYTE pb_sct, BYTE *pbp_dat);		//R55
extern "C" __declspec(dllimport) int mi_cng_all_tm_key_of_set(BYTE pb_set, BYTE *pbp_dat);				//R56
extern "C" __declspec(dllimport) int mi_det();                                                          //R61 v
extern "C" __declspec(dllimport) int mi_det_no_sens();                                                  //R62 v
extern "C" __declspec(dllimport) int mi_cng_tm_key_start();                                             //R71 v
extern "C" __declspec(dllimport) int mi_cng_tm_key_trans(BYTE pb_key_set, BYTE pb_sct, BYTE *pbp_dat);  //R72 v
extern "C" __declspec(dllimport) int mi_cng_tm_key_finish();                                            //R73 v
extern "C" __declspec(dllimport) int mi_ultra_rd(BYTE pb_pag);											//U31
extern "C" __declspec(dllimport) int mi_ultra_wt(BYTE pb_pag, BYTE *pbp_dat);							//U32
extern "C" __declspec(dllimport) int mi_ultra_rd_uid();													//U41
extern "C" __declspec(dllimport) int comu_test(BYTE pb_mode);                                           //TMP
//======================== CIM8000 Extention: ==========================
extern "C" __declspec(dllimport) int lift_up();                                                          //C38
extern "C" __declspec(dllimport) int lift_down_for_col();                                                //C44
extern "C" __declspec(dllimport) int lift_down();                                                        //C45

//======================== CIM8000 Extention:_END ======================
#endif   //PT module: "v" mark 
