2
0

uuid.h 861 B

12345678910111213141516171819202122232425262728293031
  1. /*-------------------------------------------------------------------------
  2. *
  3. * uuid.h
  4. * Header file for the "uuid" ADT. In C, we use the name pg_uuid_t,
  5. * to avoid conflicts with any uuid_t type that might be defined by
  6. * the system headers.
  7. *
  8. * Copyright (c) 2007-2022, PostgreSQL Global Development Group
  9. *
  10. * src/include/utils/uuid.h
  11. *
  12. *-------------------------------------------------------------------------
  13. */
  14. #ifndef UUID_H
  15. #define UUID_H
  16. /* uuid size in bytes */
  17. #define UUID_LEN 16
  18. typedef struct pg_uuid_t
  19. {
  20. unsigned char data[UUID_LEN];
  21. } pg_uuid_t;
  22. /* fmgr interface macros */
  23. #define UUIDPGetDatum(X) PointerGetDatum(X)
  24. #define PG_RETURN_UUID_P(X) return UUIDPGetDatum(X)
  25. #define DatumGetUUIDP(X) ((pg_uuid_t *) DatumGetPointer(X))
  26. #define PG_GETARG_UUID_P(X) DatumGetUUIDP(PG_GETARG_DATUM(X))
  27. #endif /* UUID_H */