Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:33

0001 #pragma once
0002 
0003 struct SDBG
0004 {
0005     enum { NONE, BACKTRACE, SUMMARY, CALLER, INTERRUPT } ; 
0006     
0007     static constexpr const char* BACKTRACE_ = "backtrace" ; 
0008     static constexpr const char* SUMMARY_ = "summary" ; 
0009     static constexpr const char* CALLER_ = "caller" ; 
0010     static constexpr const char* INTERRUPT_ = "interrupt" ; 
0011 
0012     static const char* Name(unsigned action); 
0013     static unsigned    Action(const char* ); 
0014 
0015 }; 
0016 
0017 inline const char* SDBG::Name(unsigned action)
0018 {
0019     const char* s = nullptr ; 
0020     switch(action)
0021     {
0022         case BACKTRACE: s = BACKTRACE_ ; break ; 
0023         case SUMMARY:   s = SUMMARY_   ; break ; 
0024         case CALLER:    s = CALLER_    ; break ; 
0025         case INTERRUPT: s = INTERRUPT_ ; break ; 
0026     }
0027     return s ; 
0028 }
0029 
0030 inline unsigned SDBG::Action(const char* action_)
0031 {
0032     unsigned action = NONE ; 
0033     if(strcmp(action_, BACKTRACE_) == 0 ) action = BACKTRACE ; 
0034     if(strcmp(action_, SUMMARY_) == 0 )   action = SUMMARY ; 
0035     if(strcmp(action_, CALLER_) == 0 )    action = CALLER ; 
0036     if(strcmp(action_, INTERRUPT_) == 0 ) action = INTERRUPT ; 
0037     return action ; 
0038 }
0039 
0040