Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

jdb_timeout_i.h

Go to the documentation of this file.
00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT!         -*- c++ -*-
00002 
00003 #ifndef jdb_timeout_i_h
00004 #define jdb_timeout_i_h
00005 
00006 #include "jdb_thread_names.h"
00007 
00008 #include <cstdio>
00009 #include <cstring>
00010 
00011 #include "config.h"
00012 #include "deadline_timeout.h"
00013 #include "globals.h"
00014 #include "ipc_timeout.h"
00015 #include "jdb.h"
00016 #include "jdb_module.h"
00017 #include "jdb_screen.h"
00018 #include "kernel_console.h"
00019 #include "keycodes.h"
00020 #include "kmem.h"
00021 #include "simpleio.h"
00022 #include "static_init.h"
00023 #include "timeout.h"
00024 #include "timeslice_timeout.h"
00025 #include "thread.h"
00026 
00027 
00028 class Jdb_list_timeouts : public Jdb_module
00029 {
00030   enum
00031     {
00032       Timeout_ipc               = 1,
00033       Timeout_deadline          = 2,
00034       Timeout_timeslice         = 3,
00035     };
00036 
00037 public:  
00038   Jdb_list_timeouts();
00039   
00040   Jdb_module::Action_code action(int cmd, void *&, char const *&, int &);
00041   
00042   Jdb_module::Cmd const *const cmds() const;
00043   
00044   int const num_cmds() const;
00045 
00046 private:  
00047   // use implicit knowledge to determine the type of a timeout because we
00048   // cannot use dynamic_cast (we compile with -fno-rtti)
00049   static int get_type(Timeout *t);
00050   
00051   static Thread* get_owner(Timeout *t);
00052   
00053   static void show_header();
00054   
00055   static void list_timeouts_show_timeout(Timeout *t);
00056   
00057   static void list();
00058 };
00059 
00060 class Jdb_timeout_list
00061 {
00062 private:
00063   static int    _count;
00064   static Timeout *_t_start;
00065 
00066 public:  
00067   static void init(Timeout *t_head);
00068   
00069   // _t_start-- if possible
00070   static int line_back(void);
00071   
00072   // _t_start++ if possible
00073   static int line_forw(void);
00074   
00075   // _t_start -= 24 if possible
00076   static int page_back(void);
00077   
00078   // _t_start += 24 if possible
00079   static int page_forw(void);
00080   
00081   // _t_start = first element of list
00082   static int goto_home(void);
00083   
00084   // _t_start = last element of list
00085   static int goto_end(void);
00086   
00087   static int lookup(Timeout *t_search);
00088   
00089   static Timeout* index(int y);
00090   
00091   static int page_show(void (*show)(Timeout *t));
00092 
00093 private:  
00094   static bool iter(int count, Timeout **t_start, void (*iter)(Timeout *t)=0);
00095 };
00096 
00097 #endif // jdb_timeout_i_h

Generated on Mon Sep 26 14:20:11 2005 for Fiasco by  doxygen 1.4.2