////////////////////////////////////////////////////////////////////////////////
//
//   . LT_Attr.h
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __LT_ATTR_H
#define __LT_ATTR_H

#ifndef __LTDEFINE_H
#include "ltdefine.h"
#endif

#ifndef __LIB_FUNC__
#define __LIB_FUNC__
#define LIB_FUNC WINAPI
#endif

extern "C" {

//   - 105
//-------------------------------------------------------------------------
//   26.6.97
//      libname
//  libname = NULL-     
//       0  
//-------------------------------------------------------------------------
double     LIB_FUNC CreateAttrType( AttributeType * attrType,//    
                                    char * libname );        //    


//   - 174
//-------------------------------------------------------------------------
//      libname
//  libname = NULL-     
//       0  
//-------------------------------------------------------------------------
double     LIB_FUNC ksCreateAttrType( ksAttributeType * attrType,  //    
                                                        char * libname ); //    

//   - 886
//-------------------------------------------------------------------------
//      libname
//  libname = NULL-     
//       0   (Unicode)
//-------------------------------------------------------------------------
double     LIB_FUNC ksCreateAttrTypeW( ksAttributeTypeW * attrType,  //    
                                                        LPWSTR libname ); //    

#ifdef _UNICODE
#define ksCreateAttrTypeT  ksCreateAttrTypeW
#else
#define ksCreateAttrTypeT  ksCreateAttrType
#endif // !UNICODE


//   - 106
//-------------------------------------------------------------------------
//      libname.
//  libname = NULL,     .
//-------------------------------------------------------------------------
int        LIB_FUNC DeleteAttrType( double attrID,          //   
                                    char *libname,          //    
                                    char * password );      //    

//   - 887
//-------------------------------------------------------------------------
//      libname.
//  libname = NULL,     . (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC DeleteAttrTypeW( double attrID,          //   
                                     LPWSTR libname,          //    
                                     LPWSTR password );      //    

#ifdef _UNICODE
#define DeleteAttrTypeT  DeleteAttrTypeW
#else
#define DeleteAttrTypeT  DeleteAttrType
#endif // !UNICODE


//   - 107
//-------------------------------------------------------------------------
//   26.6.97
//       libname.
//  libname = NULL,     .
//   AttributeType.
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrType( double attrID,              //   
                                 char *libname,              //    
                                 AttributeType * attrType);  //    


//   - 175
//-------------------------------------------------------------------------
//       libname.
//  libname = NULL,     .
//   ksAttributeType.
//-------------------------------------------------------------------------
int         LIB_FUNC ksGetAttrType( double            attrID,    //   
                                    char            * libname,   //    
                                    ksAttributeType * attrType); //    

//   - 888
//-------------------------------------------------------------------------
//       libname.
//  libname = NULL,     .
//   ksAttributeType. (Unicode)
//-------------------------------------------------------------------------
int         LIB_FUNC ksGetAttrTypeW( double            attrID,    //   
                                     LPWSTR             libname,   //    
                                     ksAttributeTypeW * attrType); //    

#ifdef _UNICODE
#define ksGetAttrTypeT  ksGetAttrTypeW
#else
#define ksGetAttrTypeT  ksGetAttrType
#endif // !UNICODE


//   - 108
//-------------------------------------------------------------------------
//   26.6.97
//      libname.
//  libname = NULL,     .
//       0  .
//-------------------------------------------------------------------------
double     LIB_FUNC SetAttrType( double attrID,             //   
                                 char   *libname,           //    
                                 AttributeType * attrType,  //    
                                 char * password );         //   

//   - 176
//-------------------------------------------------------------------------
//      libname.
//  libname = NULL,     .
//       0  .
//-------------------------------------------------------------------------
double  LIB_FUNC ksSetAttrType( double            attrID,    //   
                                           char            * libname,   //    
                                           ksAttributeType * attrType,  //    
                                           char            * password );//   

//   - 891
//-------------------------------------------------------------------------
//      libname.
//  libname = NULL,     .
//       0  . (Unicode)
//-------------------------------------------------------------------------
double  LIB_FUNC ksSetAttrTypeW( double            attrID,    //   
                                           LPWSTR            libname,   //    
                                           ksAttributeTypeW *attrType,  //    
                                           LPWSTR            password );//   

#ifdef _UNICODE
#define ksSetAttrTypeT  ksSetAttrTypeW
#else
#define ksSetAttrTypeT  ksSetAttrType
#endif // !UNICODE


//   - 109
//-------------------------------------------------------------------------
//   05.6.2000
//            libname.
//   libname = NULL,     .
//         0  .
//       , , , .
//   pObj = 0 -   
//-------------------------------------------------------------------------
reference  LIB_FUNC CreateAttr( reference pObj,  //      
                                Attribute * attr,//   
                                double attrID,   //   
                                char *libname ); //    


//   - 259
//-------------------------------------------------------------------------
//            libname.
//   libname = NULL,     .
//         0  .
//       , , , .
//   pObj = 0 -   
//-------------------------------------------------------------------------
reference  LIB_FUNC ksCreateAttr( reference pObj,    //      
                                  ksAttribute * attr,//   
                                  double attrID,     //   
                                  char *libname );   //    

//   - 893
//-------------------------------------------------------------------------
//            libname.
//   libname = NULL,     .
//         0  .
//       , , , .
//   pObj = 0 -    (Unicode)
//-------------------------------------------------------------------------
reference  LIB_FUNC ksCreateAttrW( reference pObj,    //      
                                   ksAttributeW * attr,//   
                                   double attrID,     //   
                                   LPWSTR libname );   //    

#ifdef _UNICODE
#define ksCreateAttrT  ksCreateAttrW
#else
#define ksCreateAttrT  ksCreateAttr
#endif // !UNICODE


//   - 110
//-------------------------------------------------------------------------
//   .   1     0  .
//   pObj = 0 -  
//-------------------------------------------------------------------------
int        LIB_FUNC DeleteAttr ( reference pObj,   //       
                                 reference pAttr,  //    
                                 char * password );//   


//   - 894
//-------------------------------------------------------------------------
//   .   1     0  .
//   pObj = 0 -   (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC DeleteAttrW ( reference pObj,   //       
                                  reference pAttr,  //    
                                  LPWSTR password );//   


#ifdef _UNICODE
#define DeleteAttrT  DeleteAttrW
#else
#define DeleteAttrT  DeleteAttr
#endif // !UNICODE


//   - 111
//-------------------------------------------------------------------------
//   22.5.00
//      .
//   1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrValue ( reference pAttr,              //  
                                   unsigned int rowNumb,         //  
                                   unsigned int columnNumb,      //  
                                   unsigned char *flagVisible,   //     ( ,      ,  )
                                   void *value,                  //    ,    
                                   unsigned int size );          //   

//   - 251
//-------------------------------------------------------------------------
//      .
//   1     0  .
//       char
//-------------------------------------------------------------------------
int LIB_FUNC ksGetAttrValue ( reference pAttr,             //  
                              unsigned int rowNumb,        //  
                              unsigned int columnNumb,     //  
                              unsigned char *flagVisible,  //     ( ,      ,  )
                              unsigned char *columnKeys,   //     ( ,      ,  )
                              void *value,                 //    ,    
                              unsigned int size );         //   
//   - 947
//-------------------------------------------------------------------------
//      .
//   1     0  .
//       wchar_t (Unicode)
//-------------------------------------------------------------------------
int LIB_FUNC ksGetAttrValueW( reference pAttr,             //  
                              unsigned int rowNumb,        //  
                              unsigned int columnNumb,     //  
                              unsigned char *flagVisible,  //     ( ,      ,  )
                              unsigned char *columnKeys,   //     ( ,      ,  )
                              void *value,                 //    ,    
                              unsigned int size );         //   

#ifdef _UNICODE
#define ksGetAttrValueT  ksGetAttrValueW
#else
#define ksGetAttrValueT  ksGetAttrValue
#endif // !UNICODE

//   - 112
//-------------------------------------------------------------------------
//    22.5.00
//       .
//    1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC SetAttrValue ( reference pAttr,             //  
                                   unsigned int rowNumb,        //  
                                   unsigned int columnNumb,     //  
                                   unsigned char *flagVisible,  //     ( ,      ,  )
                                   void *value,                 //    ,    
                                   unsigned int size,           //     value
                                   char * password );           //  

//   - 252
//-------------------------------------------------------------------------
//       .
//    1     0  .
//-------------------------------------------------------------------------
int LIB_FUNC ksSetAttrValue( reference      pAttr,             //  
                             unsigned int   rowNumb,           //  
                             unsigned int   columnNumb,        //  
                             unsigned char *flagVisible,       //     ( ,      ,  )
                             unsigned char *columnKeys,        //     ( ,      ,  )
                             void          *value,             //    ,    
                             unsigned int   size,              //     value
                             char          *password );        //  

//   - 896
//-------------------------------------------------------------------------
//       .
//    1     0  . (Unicode)
//-------------------------------------------------------------------------
int LIB_FUNC ksSetAttrValueW( reference      pAttr,             //  
                              unsigned int   rowNumb,           //  
                              unsigned int   columnNumb,        //  
                              unsigned char *flagVisible,       //     ( ,      ,  )
                              unsigned char *columnKeys,        //     ( ,      ,  )
                              void          *value,             //    ,    
                              unsigned int   size,              //     value
                              LPWSTR         password );        //  

#ifdef _UNICODE
#define ksSetAttrValueT  ksSetAttrValueW
#else
#define ksSetAttrValueT  ksSetAttrValue
#endif // !UNICODE



//   - 113
//-------------------------------------------------------------------------
//    22.5.00
//       .
//    1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrRow ( reference pAttr,           //  
                                 unsigned int rowNumb,      //  
                                 unsigned char *flagVisible,//       
                                 void *value,               //    ,   
                                 unsigned int size );       //      value

//   - 253
//-------------------------------------------------------------------------
//       .
//    1     0  .
//-------------------------------------------------------------------------
int LIB_FUNC ksGetAttrRow ( reference      pAttr,            //  
                           unsigned int   rowNumb,          //  
                           unsigned char *flagVisible,      //       
                           unsigned char *columnKeys,       //      
                           void          *value,            //    ,   
                           unsigned int   size );           //      value

//   - 948
//-------------------------------------------------------------------------
//       .
//    1     0  . (Unicode)
//-------------------------------------------------------------------------
int LIB_FUNC ksGetAttrRowW( reference      pAttr,            //  
                           unsigned int   rowNumb,          //  
                           unsigned char *flagVisible,      //       
                           unsigned char *columnKeys,       //      
                           void          *value,            //    ,   
                           unsigned int   size );           //      value


#ifdef _UNICODE
#define ksGetAttrRowT  ksGetAttrRowW
#else
#define ksGetAttrRowT  ksGetAttrRow
#endif // !UNICODE

//   - 114
//-------------------------------------------------------------------------
//       .
//    1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC SetAttrRow ( reference pAttr,             //  
                                 unsigned int rowNumb,        //  
                                 unsigned char *flagVisible,  //       
                                 void *value,                 //    ,   
                                 unsigned int size,           //     value
                                 char * password );           //  


//   - 254
//-------------------------------------------------------------------------
//       .
//    1     0  .
//-------------------------------------------------------------------------
int LIB_FUNC ksSetAttrRow ( reference      pAttr,             //  
                            unsigned int   rowNumb,           //  
                            unsigned char *flagVisible,       //       
                            unsigned char *columnKeys,        //      
                            void          *value,             //    ,   
                            unsigned int   size,              //     value
                            char          *password );        //  

//   - 898
//-------------------------------------------------------------------------
//       .
//    1     0  . (Unicode)
//-------------------------------------------------------------------------
int LIB_FUNC ksSetAttrRowW ( reference      pAttr,             //  
                             unsigned int   rowNumb,           //  
                             unsigned char *flagVisible,       //       
                             unsigned char *columnKeys,        //      
                             void          *value,             //    ,   
                             unsigned int   size,              //     value
                             LPWSTR         password );        //  

#ifdef _UNICODE
#define ksSetAttrRowT  ksSetAttrRowW
#else
#define ksSetAttrRowT  ksSetAttrRow
#endif // !UNICODE


//   - 218
//-------------------------------------------------------------------------
//        
//    1     0  
//-------------------------------------------------------------------------
int        LIB_FUNC ksAddAttrRow ( reference pAttr,              //  
                                   int rowNumb,                  //  ,   , -1 - 
                                   unsigned char *flagVisible,   //       
                                   void *value,                  //    ,   
                                   unsigned int size,            //     value
                                   char * password );            //  

//   - 899
//-------------------------------------------------------------------------
//        
//    1     0   (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ksAddAttrRowW ( reference pAttr,              //  
                                    int rowNumb,                  //  ,   , -1 - 
                                    unsigned char *flagVisible,   //       
                                    void *value,                  //    ,   
                                    unsigned int size,            //     value
                                    LPWSTR password );            //  

#ifdef _UNICODE
#define ksAddAttrRowT  ksAddAttrRowW
#else
#define ksAddAttrRowT  ksAddAttrRow
#endif // !UNICODE


//   - 219
//-------------------------------------------------------------------------
//       
//    1     0  
//-------------------------------------------------------------------------
int        LIB_FUNC ksDeleteAttrRow ( reference pAttr,         //  
                                      unsigned int rowNumb,    //  
                                      char * password );       //  


//   - 900
//-------------------------------------------------------------------------
//       
//    1     0   (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ksDeleteAttrRowW ( reference pAttr,         //  
                                       unsigned int rowNumb,    //  
                                       LPWSTR password );       //  

#ifdef _UNICODE
#define ksDeleteAttrRowT  ksDeleteAttrRowW
#else
#define ksDeleteAttrRowT  ksDeleteAttrRow
#endif // !UNICODE


//   - 115
//-------------------------------------------------------------------------
//    9.7.97    
//     .
//-------------------------------------------------------------------------
int        LIB_FUNC GetSizeAttrValue ( reference pAttr,           //  
                                       unsigned int columnNumb ); //  

//   - 177
//-------------------------------------------------------------------------
//   ;  GetSizeAttrValue
//     
//-------------------------------------------------------------------------
int        LIB_FUNC ksGetSizeAttrValue ( reference pAttr,             //  
                                           unsigned int columnNumb,   //  
                                           int  *count );             //   (  )

//   - 949
//-------------------------------------------------------------------------
//   ;  GetSizeAttrValue
//      (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ksGetSizeAttrValueW( reference pAttr,           //  
                                         unsigned int columnNumb,   //  
                                         int  *count );             //   (  )


#ifdef _UNICODE
#define ksGetSizeAttrValueT  ksGetSizeAttrValueW
#else
#define ksGetSizeAttrValueT  ksGetSizeAttrValue
#endif // !UNICODE

//   - 116
//-------------------------------------------------------------------------
//    9.7.97    
//      .
//-------------------------------------------------------------------------
int        LIB_FUNC GetSizeAttrRow ( reference pAttr );   //  

//   - 178
//-------------------------------------------------------------------------
//      GetSizeAttrRow
//      
//-------------------------------------------------------------------------
int        LIB_FUNC ksGetSizeAttrRow ( reference pAttr,     //  
                                       int * count );       //   (  )

//   - 178
//-------------------------------------------------------------------------
//      GetSizeAttrRow
//       (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ksGetSizeAttrRowW ( reference pAttr,     //  
                                       int * count );       //   (  )

#ifdef _UNICODE
#define ksGetSizeAttrRowT  ksGetSizeAttrRowW
#else
#define ksGetSizeAttrRowT  ksGetSizeAttrRow
#endif // !UNICODE


//   - 117
//-------------------------------------------------------------------------
//      .
//    NULL,    .
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrKeysInfo( reference pAttr,    //  
                                     unsigned int *key1, //
                                     unsigned int *key2, //     
                                     unsigned int *key3, //
                                     unsigned int *key4, //
                                     double *numb );     //       

//   - 118
//-------------------------------------------------------------------------
//     .
//   1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrColumnInfo ( reference pAttr,         //  
                                        unsigned int columnNumb, //  
                                        ColumnInfo *columnInfo );//      

//   - 901
//-------------------------------------------------------------------------
//     .
//   1     0  . (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrColumnInfoW ( reference pAttr,         //  
                                         unsigned int columnNumb, //  
                                         ColumnInfoW *columnInfo );//      

#ifdef _UNICODE
#define GetAttrColumnInfoT  GetAttrColumnInfoW
#else
#define GetAttrColumnInfoT  GetAttrColumnInfo
#endif // !UNICODE


//   - 119
//-------------------------------------------------------------------------
//        .
//   1     0  .
//-------------------------------------------------------------------------
int        LIB_FUNC GetAttrTabInfo ( reference pAttr,              //  
                                     unsigned int * rowsCount,     //  
                                     unsigned int * columnsCount );//   

//   - 120
//-------------------------------------------------------------------------
//        .
//    1     0  .
//      .
//-------------------------------------------------------------------------
int        LIB_FUNC ViewEditAttr( reference pAttr,   //  
                                  unsigned int type, // 1-  2- 
                                  char * password ); //      0

//   - 902
//-------------------------------------------------------------------------
//        .
//    1     0  .
//      . (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ViewEditAttrW( reference pAttr,   //  
                                   unsigned int type, // 1-  2- 
                                   LPWSTR password ); //      0

#ifdef _UNICODE
#define ViewEditAttrT  ViewEditAttrW
#else
#define ViewEditAttrT  ViewEditAttr
#endif // !UNICODE


//   - 121
//-------------------------------------------------------------------------
//         .
//    1     0  .
//      .
//-------------------------------------------------------------------------
int        LIB_FUNC ViewEditAttrType( char * libname,     //    
                                      unsigned int type,  // 1-  2- 
                                      double attrId,      //   
                                      char * password );  //     0

//   - 903
//-------------------------------------------------------------------------
//         .
//    1     0  .
//      . (Unicode)
//-------------------------------------------------------------------------
int        LIB_FUNC ViewEditAttrTypeW( LPWSTR libname,     //    
                                       unsigned int type,  // 1-  2- 
                                       double attrId,      //   
                                       LPWSTR password );  //     0

#ifdef _UNICODE
#define ViewEditAttrTypeT  ViewEditAttrTypeW
#else
#define ViewEditAttrTypeT  ViewEditAttrType
#endif // !UNICODE


//   - 122
//-------------------------------------------------------------------------
//          
//     .
//  libname = NULL,     .
//       0  .
//     .
//-------------------------------------------------------------------------
double     LIB_FUNC ChoiceAttrTypes ( char * libname );  //    


//   - 904
//-------------------------------------------------------------------------
//          
//     .
//  libname = NULL,     .
//       0  .
//     . (Unicode)
//-------------------------------------------------------------------------
double     LIB_FUNC ChoiceAttrTypesW ( LPWSTR libname );  //    

#ifdef _UNICODE
#define ChoiceAttrTypesT  ChoiceAttrTypesW
#else
#define ChoiceAttrTypesT  ChoiceAttrTypes
#endif // !UNICODE


//   - 123
//-------------------------------------------------------------------------
//           .
//            0  .
//-------------------------------------------------------------------------
reference  LIB_FUNC ChoiceAttr ( reference pObj ); //      

//   - 243
//-------------------------------------------------------------------------------------
//       LIBRARY_ATTR_TYPE_ARR -
//   ,     .
//     0.
//-------------------------------------------------------------------------------------
reference LIB_FUNC ksGetLibraryAttrTypesArray( char * libname );    //     


//   - 905
//-------------------------------------------------------------------------------------
//       LIBRARY_ATTR_TYPE_ARR -
//   ,     .
//     0. (Unicode)
//-------------------------------------------------------------------------------------
reference LIB_FUNC ksGetLibraryAttrTypesArrayW( LPWSTR libname );    //     

#ifdef _UNICODE
#define ksGetLibraryAttrTypesArrayT  ksGetLibraryAttrTypesArrayW
#else
#define ksGetLibraryAttrTypesArrayT  ksGetLibraryAttrTypesArray
#endif // !UNICODE

} // extern "C"

#endif // __LT_ATTR_H