Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. ctrltrns.h
  5. Abstract:
  6. Prototypes for control transfer fragments.
  7. Author:
  8. 10-July-1995 t-orig (Ori Gershony)
  9. Revision History:
  10. --*/
  11. BOOL
  12. InitializeCallstack(
  13. VOID
  14. );
  15. VOID
  16. FlushCallstack(
  17. PTHREADSTATE cpu
  18. );
  19. // Called by the assembly-langauge CallDirectX fragments
  20. ULONG
  21. CTRL_CallFrag(
  22. PTHREADSTATE cpu, // cpu state pointer
  23. ULONG inteldest,
  24. ULONG intelnext,
  25. ULONG nativenext
  26. );
  27. ULONG
  28. CTRL_CallfFrag(
  29. PTHREADSTATE cpu, // cpu state pointer
  30. PUSHORT pinteldest,
  31. ULONG intelnext,
  32. ULONG nativenext
  33. );
  34. // And now the ret fragments
  35. ULONG CTRL_INDIR_IRetFrag(PTHREADSTATE cpu);
  36. ULONG CTRL_INDIR_RetnFrag32(PTHREADSTATE cpu);
  37. ULONG CTRL_INDIR_RetnFrag16(PTHREADSTATE cpu);
  38. ULONG CTRL_INDIR_Retn_iFrag32(PTHREADSTATE cpu, ULONG numBytes);
  39. ULONG CTRL_INDIR_Retn_iFrag16(PTHREADSTATE cpu, ULONG numBytes);
  40. ULONG CTRL_INDIR_RetfFrag32(PTHREADSTATE cpu);
  41. ULONG CTRL_INDIR_RetfFrag16(PTHREADSTATE cpu);
  42. ULONG CTRL_INDIR_Retf_iFrag32(PTHREADSTATE cpu, ULONG numBytes);
  43. ULONG CTRL_INDIR_Retf_iFrag16(PTHREADSTATE cpu, ULONG numBytes);
  44. // And a few others
  45. VOID BOPFrag(PTHREADSTATE cpu, ULONG bop, ULONG imm);
  46. VOID UnsimulateFrag(VOID);