home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c070 / 4.ddi / TOOLS.4 / TCTSRC1.EXE / SCCURSET.C < prev    next >
Encoding:
C/C++ Source or Header  |  1989-03-31  |  1.3 KB  |  48 lines

  1. /**
  2. *
  3. * Name        sccurset -- Set the cursor position on the current
  4. *                display page.
  5. *
  6. * Synopsis    cpos = sccurset(row,col);
  7. *
  8. *        int cpos;      Return position (row,col)
  9. *        int row;      row position
  10. *        int col;      column position
  11. *
  12. * Description    SCCURSET sets the cursor to the position specified by
  13. *        row and col on the current page.  The current page must
  14. *        be the same as the active display page (i.e., currently
  15. *        displayed) for the cursor to be seen to move.
  16. *
  17. * Returns    cpos          The cursor position with the row
  18. *                  in the high order byte and the column
  19. *                  in the low order byte.
  20. *
  21. * Version    6.00 (C)Copyright Blaise Computing Inc.  1983,1987,1989
  22. *
  23. **/
  24.  
  25. #include <dos.h>
  26.  
  27. #include <bscreens.h>
  28.  
  29. int sccurset(row,col)
  30. int row,col;
  31. {
  32.    union REGS inregs,outregs;          /* Registers for BIOS call      */
  33.    int mode,columns,act_page;
  34.  
  35.    scmode(&mode,&columns,&act_page);
  36.    utbound(row,0,scrows() - 1)          /* Force reasonable values      */
  37.    utbound(col,0,columns-1)
  38.  
  39.    inregs.h.ah = 0x02;              /* Set up call to the BIOS      */
  40.    inregs.h.bh = (unsigned char) b_curpage;
  41.    inregs.h.dh = (unsigned char) row;
  42.    inregs.h.dl = (unsigned char) col;
  43.  
  44.    int86(16,&inregs,&outregs);
  45.  
  46.    return (int) inregs.x.dx;
  47. }
  48.