home *** CD-ROM | disk | FTP | other *** search
/ Chip: Shareware for Win 95 / Chip-Shareware-Win95.bin / ostatni / qview32 / qvptrw32.exe / DATA.Z / TRIAL.H < prev    next >
C/C++ Source or Header  |  1996-10-01  |  2KB  |  72 lines

  1. /****************************************************************************
  2.  * trial.h - exported entry points into the 32 bit Trialware DLL
  3.  ****************************************************************************
  4.  * This module, both in source and in binary format, is wholly owned
  5.  *          and hereby expressly copyrighted by Pipeline.
  6.  *        Copyright 1994-1996 Pipeline Communications, Inc.
  7.  *                      All rights reserved.
  8.  ****************************************************************************/
  9. #ifndef _TRIAL_H
  10. #define _TRIAL_H
  11. // trialware status structure
  12. // used for returns
  13.  
  14. #if defined(__cplusplus)
  15. extern "C" {
  16. #endif
  17.  
  18. typedef struct _tw_status 
  19. {
  20.    DWORD    dwVersion;
  21.    DWORD    dwFlags;
  22.    DWORD    dwDaysLeft;
  23.    DWORD    dwTimeLeft;
  24.    DWORD    dwExpDate;
  25.    DWORD dwToken;
  26.    HINSTANCE hInst;
  27. } TWSTATUS;
  28.  
  29. typedef TWSTATUS * PTWSTATUS;
  30.     
  31. #define PLTW_SECURE           (0x00000001)
  32. #define PLTW_SET_DATE         (0x00000002)
  33. #define PLTW_SET_DAYS         (0x00000004)
  34. #define PLTW_ADD_DATE         (0x00000008)
  35. #define PLTW_ADD_DAYS         (0x00000010)
  36. #define PLTW_NO_ORDER         (0x00000020)
  37. #define PLTW_ORDER_EXE        (0x00000040)
  38. #define PLTW_NO_RESOURCE      (0x00000080)
  39. #define PLTW_READ_ONLY        (0x00000100)
  40. #define PLTW_UNLOCK           (0x00000200)
  41. #define PLTW_FROMORDER        (0x00010000)
  42.  
  43. #define TW_INVALID_PARAM      (-1)
  44. #define TW_FAILURE            (0)   // errors are <= 0
  45. #define TW_SUCCESS            (1)
  46. #define TW_UNLOCKED           (2)
  47.  
  48. // function prototypes
  49. // alias the names of the api
  50. #define StartTrial   PLSTW
  51. #define TestTrial    PLTTW
  52. #define EndTrial     PLETW
  53. int StartTrial(LPCSTR szLogin, PTWSTATUS stat);
  54. int TestTrial(LPCSTR szLogin, PTWSTATUS stat);
  55. int EndTrial(LPCSTR szLogin, PTWSTATUS stat);
  56.  
  57. // macro for decoding secure return
  58.  
  59. #define XCODE(token, encret, ret) \
  60.          {  BYTE *f = (BYTE *)&(token); \
  61.             BYTE *t = (BYTE *)&(encret); \
  62.                 int i;   \
  63.             for (i = 0; i < 4; i++) \
  64.                *(t+i) = *(f+i) ^ (ret); \
  65.          }
  66.                                         
  67. #if defined(__cplusplus)
  68. }
  69. #endif
  70.  
  71. #endif
  72.