home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 December / PCWorld_1998-12_cd.iso / software / sybase / ASA / asa60.exe / data1.cab / h_files / sqlda.h < prev    next >
C/C++ Source or Header  |  1998-07-27  |  3KB  |  69 lines

  1.  /****************************************************************
  2.  *       Copyright (C) 1988-1998, by Sybase, Inc.                *
  3.  *       All rights reserved. No part of this software may be    *
  4.  *       reproduced in any form or by any means - graphic,       *
  5.  *       electronic or mechanical, including photocopying,       *
  6.  *       recording, taping or information storage and retrieval  *
  7.  *       systems - except with the written permission of         *
  8.  *       Sybase, Inc.                                            *
  9.  ****************************************************************/
  10.  
  11. #ifndef _SQLDA_H_INCLUDED
  12. #define _SQLDA_H_INCLUDED
  13. #define II_SQLDA
  14.  
  15.  
  16. #include "sqlca.h"
  17.  
  18. #if defined( _SQL_PACK_STRUCTURES )
  19. #include "pshpk1.h"
  20. #endif
  21.  
  22. #define SQL_MAX_NAME_LEN        30
  23.  
  24. #define _sqldafar        _sqlfar
  25.  
  26. typedef    short int    a_sql_type;
  27.  
  28. struct sqlname {
  29.     short int           length;                     /* length of char data */
  30.     char        data[ SQL_MAX_NAME_LEN ];   /* data                */
  31. };
  32.  
  33. struct sqlvar {                  /* array of variable descriptors        */
  34.     short int           sqltype;           /* type of  host variable     */
  35.     short int           sqllen;            /* length of host variable    */
  36.     void _sqldafar      *sqldata;           /* address of variable        */
  37.     short int _sqldafar *sqlind;           /* indicator variable pointer */
  38.     struct sqlname      sqlname;
  39. };
  40.  
  41. struct sqlda{
  42.     unsigned char       sqldaid[8];  /* eye catcher "SQLDA"                  */
  43.     long  int           sqldabc;     /* length of sqlda structure            */
  44.     short int           sqln;        /* descriptor size in number of entries */
  45.     short int           sqld;        /* number of variables found by DESCRIBE*/
  46.     struct sqlvar       sqlvar[1];   /* array of variable descriptors        */
  47. };
  48.  
  49. #define SCALE(sqllen)           ((sqllen)/256)
  50. #define PRECISION(sqllen)       ((sqllen)&0xff)
  51. #define SET_PRECISION_SCALE(sqllen,precision,scale)     \
  52.                                 sqllen = (scale)*256 + (precision)
  53. #define DECIMALSTORAGE(sqllen)  (PRECISION(sqllen)/2 + 1)
  54.  
  55. typedef struct sqlda    SQLDA;
  56. typedef struct sqlvar   SQLVAR, SQLDA_VARIABLE;
  57. typedef struct sqlname  SQLNAME, SQLDA_NAME;
  58.  
  59. #ifndef SQLDASIZE
  60. #define SQLDASIZE(n)    ( sizeof( struct sqlda ) +  \
  61.                           (n-1) * sizeof( struct sqlvar) )
  62. #endif
  63.  
  64. #if defined( _SQL_PACK_STRUCTURES )
  65. #include "poppk.h"
  66. #endif
  67.  
  68. #endif
  69.