[BACK]Return to linux.trm CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / term

Diff for /OpenXM_contrib/gnuplot/term/Attic/linux.trm between version 1.1 and 1.1.1.3

version 1.1, 2000/01/09 17:01:14 version 1.1.1.3, 2003/09/15 07:09:37
Line 80  TERM_PUBLIC void LINUX_linetype __PROTO((int linetype)
Line 80  TERM_PUBLIC void LINUX_linetype __PROTO((int linetype)
 TERM_PUBLIC void LINUX_move __PROTO((unsigned int x, unsigned int y));  TERM_PUBLIC void LINUX_move __PROTO((unsigned int x, unsigned int y));
 TERM_PUBLIC void LINUX_vector __PROTO((unsigned int x, unsigned int y));  TERM_PUBLIC void LINUX_vector __PROTO((unsigned int x, unsigned int y));
 TERM_PUBLIC int LINUX_text_angle __PROTO((int ang));  TERM_PUBLIC int LINUX_text_angle __PROTO((int ang));
 TERM_PUBLIC void LINUX_put_text __PROTO((unsigned int x, unsigned int y, char *str));  TERM_PUBLIC void LINUX_put_text __PROTO((unsigned int x, unsigned int y, const char *str));
 TERM_PUBLIC void LINUX_suspend __PROTO((void));  TERM_PUBLIC void LINUX_suspend __PROTO((void));
 TERM_PUBLIC void LINUX_resume __PROTO((void));  TERM_PUBLIC void LINUX_resume __PROTO((void));
   
Line 94  TERM_PUBLIC void LINUX_resume __PROTO((void));
Line 94  TERM_PUBLIC void LINUX_resume __PROTO((void));
 static int linux_vmode = G1024x768x256;         /* default mode */  static int linux_vmode = G1024x768x256;         /* default mode */
 static int vgacolor[] = { 7, 8, 2, 3, 4, 5, 9, 14, 12, 15, 13, 10, 11, 1, 6 };  static int vgacolor[] = { 7, 8, 2, 3, 4, 5, 9, 14, 12, 15, 13, 10, 11, 1, 6 };
 static int graphics_on = FALSE;  static int graphics_on = FALSE;
 vga_modeinfo *modeinfo;  static vga_modeinfo *modeinfo;
 static int linux_startx, linux_starty, linux_lasty;  static int linux_startx, linux_starty, linux_lasty;
 static int linux_angle;  static int linux_angle;
 int LINUX_graphics_allowed;  int LINUX_graphics_allowed; /* also used in vgagl.trm */
   extern void drop_privilege();
   extern void take_privilege();
   
 typedef (*linux_line_func_ptr) __PROTO((int x1, int y1, int x2, int y2));  typedef int (*linux_line_func_ptr) __PROTO((int x1, int y1, int x2, int y2));
   
 static void LINUX_putc __PROTO((unsigned int x, unsigned int y, int c, int ang,  static void LINUX_putc __PROTO((unsigned int x, unsigned int y, int c, int ang,
                                 linux_line_func_ptr line_func));                                  linux_line_func_ptr line_func));
   
 /* this function is called at the very beginning of main() to initialize  /* this function is called at the very beginning of main() to initialize
  *  the vgalib and to revoke suid privileges.   *  the vgalib and to revoke suid privileges.
  * /dev/console and /dev/tty\d are considered graphic terminals, all other   * /dev/console and /dev/tty\d and /dev/vc/\d are considered graphic terminals, all other
  * don't support the linux terminal */   * don't support the linux terminal */
   
 void LINUX_setup(void)  void
   LINUX_setup(void)
 {  {
     char line[256];      char line[256];
     FILE *pipe;      FILE *pipe;
Line 124  void LINUX_setup(void)
Line 127  void LINUX_setup(void)
         fgets(line, 256, pipe);          fgets(line, 256, pipe);
         pclose(pipe);          pclose(pipe);
         line[strlen(line) - 1] = '\0';          line[strlen(line) - 1] = '\0';
         if (strcmp(line, "/dev/console") == 0 ||          if (
             (strncmp(line, "/dev/tty", 8) == 0 && isdigit(line[8])))              strcmp(line, "/dev/console") == 0 ||
   
               ( ( strncmp(line, "/dev/tty", 8) == 0 || strncmp(line, "/dev/vc/", 8) == 0 )
                && isdigit((unsigned char) line[8]))
   
                ) {
             LINUX_graphics_allowed = TRUE;              LINUX_graphics_allowed = TRUE;
           } else {
               /* check for socket name as set for example by `screen' */
               char* sty = getenv("STY");
               if (sty) {
                   int n1, n2;
                   if (3 == sscanf(sty, "%d.tty%d.%s", &n1, &n2, line)) {
                       /* we could check here, if host is the
                        * same as gethostname() returns. */
                       LINUX_graphics_allowed = TRUE;
                   }
               }
           }
     }      }
     if (LINUX_graphics_allowed) {      if (LINUX_graphics_allowed) {
           take_privilege();
         vga_init();          vga_init();
           drop_privilege();
     } else {      } else {
         /* err - shouldn't we give up root uid whatever happens ?          /* err - shouldn't we give up root uid whatever happens ?
          * or perhaps vga_init() does it ?           * or perhaps vga_init() does it ?
Line 138  void LINUX_setup(void)
Line 160  void LINUX_setup(void)
     }      }
 }  }
   
 TERM_PUBLIC void LINUX_options()  TERM_PUBLIC
   void LINUX_options()
 {  {
     if (!LINUX_graphics_allowed) {      if (!LINUX_graphics_allowed) {
         int_error("Linux terminal driver not available", NO_CARET);          int_error("Linux terminal driver not available", NO_CARET);
Line 146  TERM_PUBLIC void LINUX_options()
Line 169  TERM_PUBLIC void LINUX_options()
     fprintf(stderr, "%s\n", vga_getmodename(linux_vmode));      fprintf(stderr, "%s\n", vga_getmodename(linux_vmode));
 }  }
   
 TERM_PUBLIC void LINUX_init()  TERM_PUBLIC
   void LINUX_init()
 {  {
     /* vga_init () has been moved to immediately after main () for security */      /* vga_init () has been moved to immediately after main () for security */
     if (vga_getdefaultmode() != -1)      if (vga_getdefaultmode() != -1)
Line 165  TERM_PUBLIC void LINUX_init()
Line 189  TERM_PUBLIC void LINUX_init()
     linux_lasty = modeinfo->height - 1;      linux_lasty = modeinfo->height - 1;
 }  }
   
 TERM_PUBLIC void LINUX_reset()  TERM_PUBLIC void
   LINUX_reset()
 {  {
     if (graphics_on) {      if (graphics_on) {
         vga_setmode(TEXT);          vga_setmode(TEXT);
Line 173  TERM_PUBLIC void LINUX_reset()
Line 198  TERM_PUBLIC void LINUX_reset()
     }      }
 }  }
   
 TERM_PUBLIC void LINUX_text()  TERM_PUBLIC void
   LINUX_text()
 {  {
     if (graphics_on) {      if (graphics_on) {
         vga_getch();          vga_getch();
Line 182  TERM_PUBLIC void LINUX_text()
Line 208  TERM_PUBLIC void LINUX_text()
     }      }
 }  }
   
 TERM_PUBLIC void LINUX_graphics()  TERM_PUBLIC void
   LINUX_graphics()
 {  {
     if (!graphics_on) {      if (!graphics_on) {
         vga_setmode(linux_vmode);          vga_setmode(linux_vmode);
Line 190  TERM_PUBLIC void LINUX_graphics()
Line 217  TERM_PUBLIC void LINUX_graphics()
     }      }
 }  }
   
 TERM_PUBLIC void LINUX_suspend()  TERM_PUBLIC void
   LINUX_suspend()
 {  {
     vga_flip();      vga_flip();
 }  }
   
 TERM_PUBLIC void LINUX_resume()  TERM_PUBLIC void
   LINUX_resume()
 {  {
     vga_flip();      vga_flip();
 }  }
   
 TERM_PUBLIC void LINUX_linetype(linetype)  TERM_PUBLIC void
   LINUX_linetype(linetype)
 int linetype;  int linetype;
 {  {
     if (linetype >= 13)      if (linetype >= 13)
Line 208  int linetype;
Line 238  int linetype;
     vga_setcolor(vgacolor[linetype + 2]);      vga_setcolor(vgacolor[linetype + 2]);
 }  }
   
 TERM_PUBLIC void LINUX_move(x, y)  TERM_PUBLIC void
   LINUX_move(x, y)
 unsigned int x;  unsigned int x;
 unsigned int y;  unsigned int y;
 {  {
Line 216  unsigned int y;
Line 247  unsigned int y;
     linux_starty = y;      linux_starty = y;
 }  }
   
 TERM_PUBLIC void LINUX_vector(x, y)  TERM_PUBLIC void
   LINUX_vector(x, y)
 unsigned int x;  unsigned int x;
 unsigned int y;  unsigned int y;
 {  {
Line 225  unsigned int y;
Line 257  unsigned int y;
     linux_starty = y;      linux_starty = y;
 }  }
   
 TERM_PUBLIC int LINUX_text_angle(ang)  TERM_PUBLIC int
   LINUX_text_angle(ang)
 int ang;  int ang;
 {  {
     linux_angle = ang;      linux_angle = ang;
     return TRUE;      return TRUE;
 }  }
   
 static void LINUX_putc(x, y, c, ang, line_func)  static void
   LINUX_putc(x, y, c, ang, line_func)
 unsigned int x, y;  unsigned int x, y;
 int c;  int c;
 int ang;  int ang;
Line 258  linux_line_func_ptr line_func;
Line 292  linux_line_func_ptr line_func;
     }      }
 }  }
   
 TERM_PUBLIC void LINUX_put_text(x, y, str)  TERM_PUBLIC void
   LINUX_put_text(x, y, str)
 unsigned int x, y;  unsigned int x, y;
 char *str;  const char *str;
 {  {
     int i;      int i;
     switch (linux_angle) {      switch (linux_angle) {

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>