00001 #pragma once
00002 #ifndef SEAP_MESSAGE_H
00003 #define SEAP_MESSAGE_H
00004
00005 #include <stdint.h>
00006 #include <sexp-types.h>
00007
00008 #if SEAP_MSGID_BITS == 64
00009 typedef uint64_t SEAP_msgid_t;
00010 #else
00011 typedef uint32_t SEAP_msgid_t;
00012 #endif
00013
00014 typedef struct SEAP_msg SEAP_msg_t;
00015 typedef struct SEAP_attr SEAP_attr_t;
00016
00017 SEAP_msg_t *SEAP_msg_new (void);
00018 void SEAP_msg_free (SEAP_msg_t *msg);
00019
00020 SEAP_msgid_t SEAP_msg_id (SEAP_msg_t *msg);
00021
00022 int SEAP_msg_set (SEAP_msg_t *msg, SEXP_t *sexp);
00023 SEXP_t *SEAP_msg_get (SEAP_msg_t *msg);
00024
00025 SEXP_t *SEAP_msgattr_get (SEAP_msg_t *msg, const char *name);
00026 int SEAP_msgattr_set (SEAP_msg_t *msg, const char *name, SEXP_t *value);
00027 int SEAP_msgattr_del (SEAP_msg_t *msg, const char *name);
00028 int SEAP_msgattr_exists (SEAP_msg_t *msg, const char *name);
00029
00030 #endif