conv.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $Id: conv.h,v 1.4 1998/08/15 20:42:51 davem Exp $
  2.  * conv.h: Utility macros for Solaris emulation
  3.  *
  4.  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
  5.  */
  6.  
  7. /* #define DEBUG_SOLARIS */
  8. #define DEBUG_SOLARIS_KMALLOC
  9. #ifndef __ASSEMBLY__
  10. #include <asm/unistd.h>
  11. /* Use this to get at 32-bit user passed pointers. */
  12. #define A(__x)
  13. ({ unsigned long __ret;
  14. __asm__ ("srl %0, 0, %0"
  15.  : "=r" (__ret)
  16.  : "0" (__x));
  17. __ret;
  18. })
  19. extern unsigned sys_call_table[];
  20. extern unsigned sys_call_table32[];
  21. extern unsigned sunos_sys_table[];
  22. #define SYS(name) ((long)sys_call_table[__NR_##name])
  23. #define SUNOS(x) ((long)sunos_sys_table[x])
  24. #ifdef DEBUG_SOLARIS
  25. #define SOLD(s) printk("%s,%d,%s(): %sn",__FILE__,__LINE__,__FUNCTION__,(s))
  26. #define SOLDD(s) printk("solaris: "); printk s
  27. #else
  28. #define SOLD(s)
  29. #define SOLDD(s)
  30. #endif
  31. #endif /* __ASSEMBLY__ */