NdbMain.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef NDBMAIN_H
  14. #define NDBMAIN_H
  15. #if defined NDB_SOFTOSE || defined NDB_OSE
  16. #include <ose.h>
  17. #include <shell.h>
  18. /* Define an OSE_PROCESS that can be started from osemain.con */
  19. #define NDB_MAIN(name)                          
  20. int main_ ## name(int argc, const char** argv); 
  21. OS_PROCESS(name){                               
  22.   main_ ## name(0, 0);                          
  23.   stop(current_process());                      
  24.   exit(0);                                      
  25. }                                               
  26. int main_ ## name(int argc, const char** argv)
  27. /*  Define an function that can be started from the command line */
  28. #define NDB_COMMAND(name, str_name, syntax, description, stacksize) 
  29. int main_ ## name(int argc, const char** argv);  
  30.                                                  
  31. static int run_ ## name(int argc, char *argv[]){ 
  32.  return main_ ## name (argc, argv);              
  33. }                                                
  34.                                                  
  35. OS_PROCESS(init_ ## name){                       
  36.  shell_add_cmd_attrs(str_name, syntax, description, 
  37.           run_ ## name, OS_PRI_PROC, 25, stacksize); 
  38.  stop(current_process());                        
  39.  return;                                         
  40. }                                                
  41.                                                  
  42. int main_ ## name(int argc, const char** argv)
  43. #else
  44. #define NDB_MAIN(name) 
  45. int main(int argc, const char** argv)
  46. #define NDB_COMMAND(name, str_name, syntax, description, stacksize) 
  47. int main(int argc, const char** argv)
  48. #endif
  49. #endif