Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Feb 9th, 2010 | Syntax: None | Size: 0.52 KB | Hits: 68 | Expires: Never
Copy text to clipboard
  1. // Usage: EFLAGS(ctx)->SF = 1;
  2. // The above would set the sign flag for CONTEXT variable, ctx, to 1 (The only two valid options being 0 or 1).
  3.  
  4. typedef union {
  5.         DWORD flags;
  6.         struct {
  7.                 unsigned CF : 1;
  8.                 unsigned reserved1 : 1;
  9.                 unsigned PF : 1;
  10.                 unsigned reserved2 : 1;
  11.                 unsigned AF : 1;
  12.                 unsigned reserved3 : 1;
  13.                 unsigned ZF : 1;
  14.                 unsigned SF : 1;
  15.                 unsigned TF : 1;
  16.                 unsigned IF : 1;
  17.                 unsigned DF : 1;
  18.                 unsigned OF : 1;
  19.         };
  20. } EFLAGS;
  21.  
  22. #define EFLAGS(ctx) (reinterpret_cast<EFLAGS *>(&ctx->EFlags))