class.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /******************************************************************
  2. *
  3. * uEcho for C
  4. *
  5. * Copyright (C) Satoshi Konno 2015
  6. *
  7. * This is licensed under BSD-style license, see file COPYING.
  8. *
  9. ******************************************************************/
  10. #ifndef _UECHO_CLASS_H_
  11. #define _UECHO_CLASS_H_
  12. #include <uecho/typedef.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. /****************************************
  17. * Constant
  18. ****************************************/
  19. enum {
  20. uEchoClassCodeMin = 0x0000,
  21. uEchoClassCodeMax = 0xFFFF,
  22. };
  23. enum {
  24. uEchoClassGroupDeviceMin = 0x00,
  25. uEchoClassGroupDeviceMax = 0x06,
  26. uEchoClassGroupProfile = 0x0E,
  27. };
  28. /****************************************
  29. * Data Type
  30. ****************************************/
  31. typedef int uEchoClassCode;
  32. #if !defined(_UECHO_CLASS_INTERNAL_H_)
  33. typedef void uEchoClass;
  34. #endif
  35. /****************************************
  36. * Function
  37. ****************************************/
  38. uEchoClass* uecho_class_new(void);
  39. bool uecho_class_delete(uEchoClass* cls);
  40. uEchoClass* uecho_class_next(uEchoClass* cls);
  41. void uecho_class_setcode(uEchoClass* cls, uEchoClassCode code);
  42. uEchoClassCode uecho_class_getcode(uEchoClass* cls);
  43. bool uecho_class_iscode(uEchoClass* cls, uEchoClassCode code);
  44. void uecho_class_setclassgroupcode(uEchoClass* cls, byte val);
  45. byte uecho_class_getclassgroupcode(uEchoClass* cls);
  46. void uecho_class_setclasscode(uEchoClass* cls, byte val);
  47. byte uecho_class_getclasscode(uEchoClass* cls);
  48. bool uecho_class_isdevice(uEchoClass* cls);
  49. bool uecho_class_isprofile(uEchoClass* cls);
  50. #ifdef __cplusplus
  51. } /* extern C */
  52. #endif
  53. #endif /* _UECHO_CLASS_H_ */