The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/ddb/db_rint.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $OpenBSD: db_rint.c,v 1.1 2022/07/12 17:12:31 jca Exp $ */
    2 /*      $NetBSD: db_machdep.c,v 1.17 1999/06/20 00:58:23 ragge Exp $    */
    3 
    4 /* 
    5  * Mach Operating System
    6  * Copyright (c) 1991,1990 Carnegie Mellon University
    7  * All Rights Reserved.
    8  * 
    9  * Permission to use, copy, modify and distribute this software and its
   10  * documentation is hereby granted, provided that both the copyright
   11  * notice and this permission notice appear in all copies of the
   12  * software, derivative works or modified versions, and any portions
   13  * thereof, and that both notices appear in supporting documentation.
   14  * 
   15  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   16  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   17  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   18  * 
   19  * Carnegie Mellon requests users of this software to return to
   20  * 
   21  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   22  *  School of Computer Science
   23  *  Carnegie Mellon University
   24  *  Pittsburgh PA 15213-3890
   25  * 
   26  * any improvements or extensions that they make and grant Carnegie the
   27  * rights to redistribute these changes.
   28  */
   29 
   30 #include <sys/types.h>
   31 #include <sys/systm.h>
   32 
   33 #include <ddb/db_var.h>
   34 
   35 /*
   36  * db_rint: enters ddb(4) if the "ESC D" sequence is matched.
   37  * Returns:
   38  * - 0 if the character isn't part of the escape sequence
   39  * - 1 if the character is part of the escape sequence and should be skipped
   40  * - 2 if the character isn't the end of an escape sequence, and an ESC
   41  *   character should be inserted before it.
   42  */
   43 int
   44 db_rint(int c)
   45 {
   46         static int ddbescape = 0;
   47 
   48         if (ddbescape && ((c & 0x7f) == 'D')) {
   49                 if (db_console)
   50                         db_enter();
   51                 ddbescape = 0;
   52                 return 1;
   53         }
   54 
   55         if ((ddbescape == 0) && ((c & 0x7f) == 27)) {
   56                 ddbescape = 1;
   57                 return 1;
   58         }
   59 
   60         if (ddbescape) {
   61                 ddbescape = 0;
   62                 return 2;
   63         }
   64 
   65         ddbescape = 0;
   66         return 0;
   67 }

Cache object: 7d57448b900c8f684ae4cb2db277038f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.