home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / epgldrx.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  6KB  |  198 lines

  1. // tssldrx.h : external interface definition for
  2. // epg loader .dlls main entry point
  3. //
  4. // Copyright(c) 1996 Microsoft Corp.
  5.  
  6. #ifndef _EPGLDRX_H_
  7. #define _EPGLDRX_H_
  8.  
  9. extern "C"
  10. {
  11.  
  12. // this list defines the exit codes used by the standard loader stub and
  13. // the sample loader.
  14. // any codes <= EXIT_LDR_DEF_SUCCESS or >= EXIT_LDR_DEF_ERROR
  15. // will be passed straight through in order to implement extensible loader
  16. // defined errors.  it is up to an individual loader to add the appropriate
  17. // section to sage registry entries for these additional codes.
  18. // each loader should check to make sure that extended error codes are not
  19. // colliding with codes already present.
  20. enum ExitCodeList
  21. {
  22.      // common loader codes
  23.     EXIT_OK = 0,             // success
  24.     EXIT_FIRST_CODE = EXIT_OK,
  25.     EXIT_INCOMPLETE = 1,     // success, but not all guide info added
  26.      EXIT_LAST_LOADER_SUCCESS = 1,
  27.     EXIT_ABORT = 2,
  28.     // 3 is the value returned by VC's ASSERT mechanism
  29.     EXIT_FAIL = 4,           // unknown failure
  30.      
  31.     // loadstub codes
  32.     EXIT_MISSINGDLL = 5,
  33.     EXIT_DB = 6,                // can't open database
  34.     EXIT_USAGE = 7,                // missing command line argument
  35.     EXIT_BUSY = 0xF9,            // magic sage retry code
  36.  
  37.     // more common loader codes
  38.     EXIT_COMPACT = 300,
  39.     EXIT_REPAIR = 301,
  40.     EXIT_FAIL_CEXCEPTION = 302,
  41.     EXIT_FAIL_DBEXCEPTION = 303,
  42.     EXIT_FAIL_GETTIMEZONE = 304,
  43.     EXIT_FAIL_GETTUNINGSPACE = 305,
  44.     EXIT_FAIL_BADTUNINGSPACE = 306,
  45.     EXIT_FAIL_BADSTARTTIME = 307,
  46.     EXIT_FAIL_BADENDTIME = 308,
  47.     EXIT_FAIL_GETLOADERREADFILE = 309,
  48.     EXIT_FAIL_LOADERREADFILE = 310,
  49.  
  50.     // StarSight specific
  51.     EXIT_FAIL_GETREGIONID = 400,
  52.     EXIT_FIRST_LOADER_DEF = EXIT_FAIL_GETREGIONID,
  53.  
  54.     // DTV specific
  55.     EXIT_FAIL_NULLPGDR = 500,
  56.     EXIT_FAIL_NULLPGM = 501,
  57.     EXIT_FAIL_PGMHEADER = 502,
  58.     EXIT_FAIL_PGMSIZE = 503,
  59.     EXIT_FAIL_PIVHEADER = 504,
  60.     EXIT_FAIL_PIVSPGNUM = 505,
  61.     EXIT_FAIL_VIEWLISTSPRINTF = 506,
  62.     EXIT_FAIL_VIEWLISTMASK = 507,
  63.     EXIT_FAIL_NULLAPGD = 508,
  64.     EXIT_FAIL_APGDSYNC = 509,
  65.     EXIT_FAIL_APGDHEADER = 510,
  66.     EXIT_FAIL_APGDCHECKSUM = 511,
  67.     EXIT_FAIL_SPIGTV = 512,
  68.     EXIT_FAIL_SPILTV = 513,
  69.     EXIT_FAIL_SPIGTV_CD = 514,
  70.     EXIT_FAIL_SPILTV_CD = 515,
  71.     EXIT_FAIL_SPIGTV_SD = 516,
  72.     EXIT_FAIL_SPILTV_SD = 517,
  73.     EXIT_FAIL_SPIGTV_DAVIS = 518,
  74.     EXIT_FAIL_SPIGTV_R9_DAVIS = 519,
  75.     EXIT_FAIL_SPIGTV_R9 = 520,
  76.     EXIT_FAIL_SPILTV_R9 = 521,
  77.     EXIT_FAIL_SPILTV_DAVIS = 522,
  78.     EXIT_FAIL_SPIGA = 523,
  79.     EXIT_FAIL_SPICD = 524,
  80.     EXIT_FAIL_SPISD = 525,
  81.     EXIT_FAIL_SPIHSD = 526,
  82.     EXIT_FAIL_EXPLICITSCID = 527,
  83.     EXIT_FAIL_SPI = 528,
  84.     EXIT_FAIL_EXPLICITHEAP = 529,
  85.     EXIT_FAIL_SCIDSIZE = 530,
  86.     EXIT_FAIL_DIPXSPONDER = 531,
  87.     EXIT_FAIL_DIPFLAG = 532,
  88.     EXIT_FAIL_LABELEN = 533,
  89.     EXIT_FAIL_NOLABEL = 534,
  90.     EXIT_FAIL_PIPXSPONDER = 535,
  91.     EXIT_FAIL_CSSMNULL = 536,
  92.     EXIT_FAIL_CSSMSYNC = 537,
  93.     EXIT_FAIL_CSSMHEADER = 538,
  94.     EXIT_FAIL_CSSMCHECKSUM = 539,
  95.     EXIT_FAIL_SEGMENTNUM = 540,
  96.     EXIT_FAIL_CIREC = 541,
  97.     EXIT_FAIL_DIPPROCESSBUFFER = 542,
  98.     EXIT_FAIL_DSSDATE = 543,
  99.     EXIT_FAIL_APPLIEDTIME = 544,
  100.     EXIT_FAIL_NULLSEGM = 545,
  101.     EXIT_FAIL_SEGMSYNC = 546,
  102.     EXIT_FAIL_SEGMHEADER = 547,
  103.     EXIT_FAIL_SEGMCHECKSUM = 548,
  104.     EXIT_FAIL_SEGMSEGMENTS = 549,
  105.     EXIT_FAIL_SEGMPACKETSIZE = 550,
  106.     EXIT_FAIL_STARTDAY = 551,
  107.     EXIT_FAIL_STARTINFO = 552,
  108.     EXIT_FAIL_STARTTIME = 553,
  109.     EXIT_FAIL_RATING = 554,
  110.     EXIT_FAIL_PI2CHAN = 555,
  111.     EXIT_FAIL_CHAN2PIP = 556,
  112.     EXIT_FAIL_CHAN2DIP = 557,
  113.     EXIT_FAIL_CHAN2NUM = 558,
  114.     EXIT_FAIL_PIAHEADER = 559,
  115.     EXIT_FAIL_STARTSLOT = 560,
  116.     EXIT_FAIL_ENDTIME = 561,
  117.     EXIT_FAIL_NULLPISM = 562,
  118.     EXIT_FAIL_PISMSYNC = 563,
  119.     EXIT_FAIL_PISMHEADER = 564,
  120.     EXIT_FAIL_PISMCHECKSUM = 565,
  121.     EXIT_FAIL_LISTGUIDESLOTS = 566,
  122.     EXIT_FAIL_ES = 567,
  123.     EXIT_FAIL_ARRIVALTIME = 568,
  124.     EXIT_FAIL_MPGPROCESSBUFFER = 569,
  125.     EXIT_FAIL_SPGPROCESSBUFFER = 570,
  126.     EXIT_FAIL_PIPFLAG = 571,
  127.     EXIT_FAIL_CHAN2PIPMSGNUM = 572,
  128.     EXIT_FAIL_PARSE = 573,
  129.     EXIT_FAIL_LOADERREADNET = 574,
  130.     EXIT_FAIL_DBE_INIT = 575,
  131.     EXIT_FAIL_DBE_IMPORT_BLOB = 576,
  132.     EXIT_FAIL_DBE_EXPORT_BLOB = 577,
  133.     EXIT_FAIL_AUTHORIZE = 578,
  134.     EXIT_LAST_CODE = EXIT_FAIL_AUTHORIZE
  135. };
  136.  
  137. #ifdef _DBDAO_H_
  138. typedef BOOL (*PFNFORCEQUIT)(VOID);
  139. ExitCodeList APIENTRY EPG_DBLoad(int &argc, _TCHAR **argv, CdbDBEngine &db, PFNFORCEQUIT pfnForceQuit);
  140. typedef ExitCodeList (APIENTRY *PFNDBLOAD)(int &argc, _TCHAR **argv, CdbDBEngine &db, PFNFORCEQUIT pfnForceQuit);
  141. #endif
  142. };
  143.  
  144. // the tuning space value must be the 0th parameter
  145. // of all of the delete queries
  146. const int giTuningSpacePos = 0;
  147.  
  148. // wparam for broadcast event messages
  149. enum EpgldrEventList
  150. {
  151.     EPGLDR_STARTING = 1,
  152.     EPGLDR_ACTIVE_COMMIT_STARTING = 2,
  153.     EPGLDR_ACTIVE_COMMIT_ENDING = 3,
  154.     EPGLDR_PASSIVE_COMMIT_STARTING = 4,
  155.     EPGLDR_PASSIVE_COMMIT_ENDING = 5,
  156.     EPGLDR_ENDING = 6,
  157.     EPGLDR_EXCLUSIVE_STARTING = 7,
  158.     EPGLDR_EXCLUSIVE_ENDING = 8,
  159.     EPGLDR_ACTIVE_COMMIT_EPIENHANCE_STARTING = 9,
  160.     EPGLDR_ACTIVE_COMMIT_EPIENHANCE_ENDING = 10
  161. };
  162.  
  163. #define SZLOADERSTUBGUID _T("{27DB71E0-776C-11cf-B8E8-0020AFDFD047}")
  164. #define GUIDLOADERSTUB ({ 0x27db71e0, 0x776c, 0x11cf, { 0xb8, 0xe8, 0x0, 0x20, 0xaf, 0xdf, 0xd0, 0x47 } })
  165.  
  166. #define SZDTVLOADGUID _T("{7B501360-8D71-11cf-A88F-444553540000}")
  167. #define GUIDDTVLOAD ({ 0x7b501360, 0x8d71, 0x11cf, { 0xa8, 0x8f, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0 } })
  168.  
  169. #define SZSSLOADGUID _T("{C94D1940-9F69-11d0-BDB8-0000F8027346}")
  170. #define GUIDSSLOAD ({ 0xc94d1940, 0x9f69, 0x11d0, { 0xbd, 0xb8, 0x0, 0x0, 0xf8, 0x2, 0x73, 0x46 } })
  171.  
  172. #define SZCDFLOADGUID _T("{45CD64E2-D2D5-11d0-AB57-00AA00C23166}")
  173. #define GUIDCDFLOAD ({ 0x45CD64E2, 0xD2D5, 0x11d0, { 0xAB, 0x57, 0x0, 0xAA, 0x0, 0xC2, 0x31, 0x66 } })
  174.  
  175. #define SZDOWNLOADGUID _T("{62765981-333D-11d1-883A-3C8B00C10000}")
  176. #define GUIDDOWNLOAD ({ 0x62765981, 0x333d, 0x11d1, { 0x88, 0x3a, 0x3c, 0x8b, 0x0, 0xc1, 0x0, 0x0 } })
  177.  
  178. #define SSSCAN        _T("{C94D1940-9F69-11d0-BDB8-0000F8027346}-Scan")
  179. #define SSSCANEND    _T("{C94D1940-9F69-11d0-BDB8-0000F8027346}-ScanEnded")
  180. #define SSHEAR        _T("{C94D1940-9F69-11d0-BDB8-0000F8027346}-Listen")
  181. #define SSHEAREND    _T("{C94D1940-9F69-11d0-BDB8-0000F8027346}-ListenEnded")
  182.  
  183.  
  184. enum SSExitCodeList
  185. {
  186.     SUCCESS,
  187.     INCOMPLETE_SCAN,
  188.     NO_CHANNELS_FOUND,
  189.     NO_VBI_DATA_FOUND,
  190.     NO_SS_DATA_FOUND,
  191.     NO_GOOD_SS_DATA_FOUND,
  192.     NO_REGION_FOUND,
  193.     INCOMPLETE_DATA
  194. };
  195.  
  196.  
  197. #endif
  198.