unix.xs
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:1k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/ioctl.h>
  4. #include <string.h>
  5. #include "consoleui.h"
  6. #include "EXTERN.h"
  7. #include "perl.h"
  8. #include "XSUB.h"
  9. #ifdef TIOCGWINSZ
  10. #define WINSIZE(name) struct winsize name
  11. #else
  12. #define TIOCGWINSZ 0
  13. #define WINSIZE(name) struct { int ws_col, ws_row; } name
  14. #define ioctl(a, b, c) 0
  15. #endif
  16. MODULE = Utils::Unix PACKAGE = Utils::Unix
  17. PROTOTYPES: ENABLE
  18. void
  19. getTerminalSize()
  20. INIT:
  21. WINSIZE(size);
  22. PPCODE:
  23. if (ioctl (1, TIOCGWINSZ, &size) != 0) {
  24. size.ws_col = 80;
  25. size.ws_row = 24;
  26. }
  27. XPUSHs (sv_2mortal (newSVnv (size.ws_col)));
  28. XPUSHs (sv_2mortal (newSVnv (size.ws_row)));
  29. INCLUDE: consoleui-perl.xs