systhr.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /** BEGIN COPYRIGHT BLOCK
  2. * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
  3. * Copyright (C) 2005 Red Hat, Inc.
  4. * All rights reserved.
  5. *
  6. * License: GPL (version 3 or any later version).
  7. * See LICENSE for details.
  8. * END COPYRIGHT BLOCK **/
  9. #ifdef HAVE_CONFIG_H
  10. #include <config.h>
  11. #endif
  12. #ifndef BASE_SYSTHR_H
  13. #define BASE_SYSTHR_H
  14. #ifndef NOINTNSAPI
  15. #define INTNSAPI
  16. #endif /* !NOINTNSAPI */
  17. /*
  18. * systhr.h: Abstracted threading mechanisms
  19. *
  20. * Rob McCool
  21. */
  22. #ifndef NETSITE_H
  23. #include "netsite.h"
  24. #endif /* !NETSITE_H */
  25. #ifdef THREAD_ANY
  26. /* --- Begin function prototypes --- */
  27. #ifdef INTNSAPI
  28. NSPR_BEGIN_EXTERN_C
  29. NSAPI_PUBLIC
  30. SYS_THREAD INTsysthread_start(int prio, int stksz, void (*fn)(void *), void *arg);
  31. NSAPI_PUBLIC SYS_THREAD INTsysthread_current(void);
  32. NSAPI_PUBLIC void INTsysthread_yield(void);
  33. NSAPI_PUBLIC SYS_THREAD INTsysthread_attach(void);
  34. NSAPI_PUBLIC void INTsysthread_detach(SYS_THREAD thr);
  35. NSAPI_PUBLIC void INTsysthread_terminate(SYS_THREAD thr);
  36. NSAPI_PUBLIC void INTsysthread_sleep(int milliseconds);
  37. NSAPI_PUBLIC void INTsysthread_init(char *name);
  38. NSAPI_PUBLIC void INTsysthread_timerset(int usec);
  39. NSAPI_PUBLIC int INTsysthread_newkey(void);
  40. NSAPI_PUBLIC void *INTsysthread_getdata(int key);
  41. NSAPI_PUBLIC void INTsysthread_setdata(int key, void *data);
  42. NSAPI_PUBLIC
  43. void INTsysthread_set_default_stacksize(unsigned long size);
  44. NSPR_END_EXTERN_C
  45. /* --- End function prototypes --- */
  46. #define systhread_start INTsysthread_start
  47. #define systhread_current INTsysthread_current
  48. #define systhread_yield INTsysthread_yield
  49. #define systhread_attach INTsysthread_attach
  50. #define systhread_detach INTsysthread_detach
  51. #define systhread_terminate INTsysthread_terminate
  52. #define systhread_sleep INTsysthread_sleep
  53. #define systhread_init INTsysthread_init
  54. #define systhread_timerset INTsysthread_timerset
  55. #define systhread_newkey INTsysthread_newkey
  56. #define systhread_getdata INTsysthread_getdata
  57. #define systhread_setdata INTsysthread_setdata
  58. #define systhread_set_default_stacksize INTsysthread_set_default_stacksize
  59. #endif /* INTNSAPI */
  60. #endif /* THREAD_ANY */
  61. #endif /* !BASE_SYSTHR_H */