/* Do not edit: automatically built by gen_msg.awk. */ #include "db_config.h" #include "db_int.h" #include "dbinc/db_swap.h" /* * PUBLIC: void __repmgr_handshake_marshal __P((ENV *, * PUBLIC: __repmgr_handshake_args *, u_int8_t *)); */ void __repmgr_handshake_marshal(env, argp, bp) ENV *env; __repmgr_handshake_args *argp; u_int8_t *bp; { DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONS_COPYOUT(env, bp, argp->alignment); DB_HTONL_COPYOUT(env, bp, argp->ack_policy); DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_handshake_unmarshal __P((ENV *, * PUBLIC: __repmgr_handshake_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_handshake_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_handshake_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_HANDSHAKE_SIZE) goto too_few; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHS_COPYIN(env, argp->alignment, bp); DB_NTOHL_COPYIN(env, argp->ack_policy, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_handshake message")); return (EINVAL); } /* * PUBLIC: void __repmgr_v3handshake_marshal __P((ENV *, * PUBLIC: __repmgr_v3handshake_args *, u_int8_t *)); */ void __repmgr_v3handshake_marshal(env, argp, bp) ENV *env; __repmgr_v3handshake_args *argp; u_int8_t *bp; { DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONL_COPYOUT(env, bp, argp->priority); DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_v3handshake_unmarshal __P((ENV *, * PUBLIC: __repmgr_v3handshake_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_v3handshake_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_v3handshake_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_V3HANDSHAKE_SIZE) goto too_few; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHL_COPYIN(env, argp->priority, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_v3handshake message")); return (EINVAL); } /* * PUBLIC: void __repmgr_v2handshake_marshal __P((ENV *, * PUBLIC: __repmgr_v2handshake_args *, u_int8_t *)); */ void __repmgr_v2handshake_marshal(env, argp, bp) ENV *env; __repmgr_v2handshake_args *argp; u_int8_t *bp; { DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONL_COPYOUT(env, bp, argp->priority); } /* * PUBLIC: int __repmgr_v2handshake_unmarshal __P((ENV *, * PUBLIC: __repmgr_v2handshake_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_v2handshake_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_v2handshake_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_V2HANDSHAKE_SIZE) goto too_few; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHL_COPYIN(env, argp->priority, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_v2handshake message")); return (EINVAL); } /* * PUBLIC: void __repmgr_parm_refresh_marshal __P((ENV *, * PUBLIC: __repmgr_parm_refresh_args *, u_int8_t *)); */ void __repmgr_parm_refresh_marshal(env, argp, bp) ENV *env; __repmgr_parm_refresh_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->ack_policy); DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_parm_refresh_unmarshal __P((ENV *, * PUBLIC: __repmgr_parm_refresh_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_parm_refresh_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_parm_refresh_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_PARM_REFRESH_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->ack_policy, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_parm_refresh message")); return (EINVAL); } /* * PUBLIC: void __repmgr_permlsn_marshal __P((ENV *, * PUBLIC: __repmgr_permlsn_args *, u_int8_t *)); */ void __repmgr_permlsn_marshal(env, argp, bp) ENV *env; __repmgr_permlsn_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->generation); DB_HTONL_COPYOUT(env, bp, argp->lsn.file); DB_HTONL_COPYOUT(env, bp, argp->lsn.offset); } /* * PUBLIC: int __repmgr_permlsn_unmarshal __P((ENV *, * PUBLIC: __repmgr_permlsn_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_permlsn_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_permlsn_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_PERMLSN_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->generation, bp); DB_NTOHL_COPYIN(env, argp->lsn.file, bp); DB_NTOHL_COPYIN(env, argp->lsn.offset, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_permlsn message")); return (EINVAL); } /* * PUBLIC: void __repmgr_version_proposal_marshal __P((ENV *, * PUBLIC: __repmgr_version_proposal_args *, u_int8_t *)); */ void __repmgr_version_proposal_marshal(env, argp, bp) ENV *env; __repmgr_version_proposal_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->min); DB_HTONL_COPYOUT(env, bp, argp->max); } /* * PUBLIC: int __repmgr_version_proposal_unmarshal __P((ENV *, * PUBLIC: __repmgr_version_proposal_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_version_proposal_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_version_proposal_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_VERSION_PROPOSAL_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->min, bp); DB_NTOHL_COPYIN(env, argp->max, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_version_proposal message")); return (EINVAL); } /* * PUBLIC: void __repmgr_version_confirmation_marshal __P((ENV *, * PUBLIC: __repmgr_version_confirmation_args *, u_int8_t *)); */ void __repmgr_version_confirmation_marshal(env, argp, bp) ENV *env; __repmgr_version_confirmation_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->version); } /* * PUBLIC: int __repmgr_version_confirmation_unmarshal __P((ENV *, * PUBLIC: __repmgr_version_confirmation_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_version_confirmation_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_version_confirmation_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_VERSION_CONFIRMATION_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->version, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_version_confirmation message")); return (EINVAL); } /* * PUBLIC: void __repmgr_msg_hdr_marshal __P((ENV *, * PUBLIC: __repmgr_msg_hdr_args *, u_int8_t *)); */ void __repmgr_msg_hdr_marshal(env, argp, bp) ENV *env; __repmgr_msg_hdr_args *argp; u_int8_t *bp; { *bp++ = argp->type; DB_HTONL_COPYOUT(env, bp, argp->word1); DB_HTONL_COPYOUT(env, bp, argp->word2); } /* * PUBLIC: int __repmgr_msg_hdr_unmarshal __P((ENV *, * PUBLIC: __repmgr_msg_hdr_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_msg_hdr_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_msg_hdr_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_MSG_HDR_SIZE) goto too_few; argp->type = *bp++; DB_NTOHL_COPYIN(env, argp->word1, bp); DB_NTOHL_COPYIN(env, argp->word2, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_msg_hdr message")); return (EINVAL); } /* * PUBLIC: void __repmgr_msg_metadata_marshal __P((ENV *, * PUBLIC: __repmgr_msg_metadata_args *, u_int8_t *)); */ void __repmgr_msg_metadata_marshal(env, argp, bp) ENV *env; __repmgr_msg_metadata_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->tag); DB_HTONL_COPYOUT(env, bp, argp->limit); DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_msg_metadata_unmarshal __P((ENV *, * PUBLIC: __repmgr_msg_metadata_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_msg_metadata_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_msg_metadata_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_MSG_METADATA_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->tag, bp); DB_NTOHL_COPYIN(env, argp->limit, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_msg_metadata message")); return (EINVAL); } /* * PUBLIC: int __repmgr_membership_key_marshal __P((ENV *, * PUBLIC: __repmgr_membership_key_args *, u_int8_t *, size_t, size_t *)); */ int __repmgr_membership_key_marshal(env, argp, bp, max, lenp) ENV *env; __repmgr_membership_key_args *argp; u_int8_t *bp; size_t *lenp, max; { u_int8_t *start; if (max < __REPMGR_MEMBERSHIP_KEY_SIZE + (size_t)argp->host.size) return (ENOMEM); start = bp; DB_HTONL_COPYOUT(env, bp, argp->host.size); if (argp->host.size > 0) { memcpy(bp, argp->host.data, argp->host.size); bp += argp->host.size; } DB_HTONS_COPYOUT(env, bp, argp->port); *lenp = (size_t)(bp - start); return (0); } /* * PUBLIC: int __repmgr_membership_key_unmarshal __P((ENV *, * PUBLIC: __repmgr_membership_key_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_membership_key_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_membership_key_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { size_t needed; needed = __REPMGR_MEMBERSHIP_KEY_SIZE; if (max < needed) goto too_few; DB_NTOHL_COPYIN(env, argp->host.size, bp); if (argp->host.size == 0) argp->host.data = NULL; else argp->host.data = bp; needed += (size_t)argp->host.size; if (max < needed) goto too_few; bp += argp->host.size; DB_NTOHS_COPYIN(env, argp->port, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_membership_key message")); return (EINVAL); } /* * PUBLIC: void __repmgr_membership_data_marshal __P((ENV *, * PUBLIC: __repmgr_membership_data_args *, u_int8_t *)); */ void __repmgr_membership_data_marshal(env, argp, bp) ENV *env; __repmgr_membership_data_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->status); DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_membership_data_unmarshal __P((ENV *, * PUBLIC: __repmgr_membership_data_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_membership_data_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_membership_data_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_MEMBERSHIP_DATA_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->status, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_membership_data message")); return (EINVAL); } /* * PUBLIC: void __repmgr_v4membership_data_marshal __P((ENV *, * PUBLIC: __repmgr_v4membership_data_args *, u_int8_t *)); */ void __repmgr_v4membership_data_marshal(env, argp, bp) ENV *env; __repmgr_v4membership_data_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->flags); } /* * PUBLIC: int __repmgr_v4membership_data_unmarshal __P((ENV *, * PUBLIC: __repmgr_v4membership_data_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_v4membership_data_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_v4membership_data_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_V4MEMBERSHIP_DATA_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_v4membership_data message")); return (EINVAL); } /* * PUBLIC: void __repmgr_member_metadata_marshal __P((ENV *, * PUBLIC: __repmgr_member_metadata_args *, u_int8_t *)); */ void __repmgr_member_metadata_marshal(env, argp, bp) ENV *env; __repmgr_member_metadata_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->format); DB_HTONL_COPYOUT(env, bp, argp->version); } /* * PUBLIC: int __repmgr_member_metadata_unmarshal __P((ENV *, * PUBLIC: __repmgr_member_metadata_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_member_metadata_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_member_metadata_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_MEMBER_METADATA_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->format, bp); DB_NTOHL_COPYIN(env, argp->version, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_member_metadata message")); return (EINVAL); } /* * PUBLIC: int __repmgr_gm_fwd_marshal __P((ENV *, * PUBLIC: __repmgr_gm_fwd_args *, u_int8_t *, size_t, size_t *)); */ int __repmgr_gm_fwd_marshal(env, argp, bp, max, lenp) ENV *env; __repmgr_gm_fwd_args *argp; u_int8_t *bp; size_t *lenp, max; { u_int8_t *start; if (max < __REPMGR_GM_FWD_SIZE + (size_t)argp->host.size) return (ENOMEM); start = bp; DB_HTONL_COPYOUT(env, bp, argp->host.size); if (argp->host.size > 0) { memcpy(bp, argp->host.data, argp->host.size); bp += argp->host.size; } DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONL_COPYOUT(env, bp, argp->gen); *lenp = (size_t)(bp - start); return (0); } /* * PUBLIC: int __repmgr_gm_fwd_unmarshal __P((ENV *, * PUBLIC: __repmgr_gm_fwd_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_gm_fwd_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_gm_fwd_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { size_t needed; needed = __REPMGR_GM_FWD_SIZE; if (max < needed) goto too_few; DB_NTOHL_COPYIN(env, argp->host.size, bp); if (argp->host.size == 0) argp->host.data = NULL; else argp->host.data = bp; needed += (size_t)argp->host.size; if (max < needed) goto too_few; bp += argp->host.size; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHL_COPYIN(env, argp->gen, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_gm_fwd message")); return (EINVAL); } /* * PUBLIC: void __repmgr_membr_vers_marshal __P((ENV *, * PUBLIC: __repmgr_membr_vers_args *, u_int8_t *)); */ void __repmgr_membr_vers_marshal(env, argp, bp) ENV *env; __repmgr_membr_vers_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->version); DB_HTONL_COPYOUT(env, bp, argp->gen); } /* * PUBLIC: int __repmgr_membr_vers_unmarshal __P((ENV *, * PUBLIC: __repmgr_membr_vers_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_membr_vers_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_membr_vers_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_MEMBR_VERS_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->version, bp); DB_NTOHL_COPYIN(env, argp->gen, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_membr_vers message")); return (EINVAL); } /* * PUBLIC: int __repmgr_site_info_marshal __P((ENV *, * PUBLIC: __repmgr_site_info_args *, u_int8_t *, size_t, size_t *)); */ int __repmgr_site_info_marshal(env, argp, bp, max, lenp) ENV *env; __repmgr_site_info_args *argp; u_int8_t *bp; size_t *lenp, max; { u_int8_t *start; if (max < __REPMGR_SITE_INFO_SIZE + (size_t)argp->host.size) return (ENOMEM); start = bp; DB_HTONL_COPYOUT(env, bp, argp->host.size); if (argp->host.size > 0) { memcpy(bp, argp->host.data, argp->host.size); bp += argp->host.size; } DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONL_COPYOUT(env, bp, argp->status); DB_HTONL_COPYOUT(env, bp, argp->flags); *lenp = (size_t)(bp - start); return (0); } /* * PUBLIC: int __repmgr_site_info_unmarshal __P((ENV *, * PUBLIC: __repmgr_site_info_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_site_info_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_site_info_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { size_t needed; needed = __REPMGR_SITE_INFO_SIZE; if (max < needed) goto too_few; DB_NTOHL_COPYIN(env, argp->host.size, bp); if (argp->host.size == 0) argp->host.data = NULL; else argp->host.data = bp; needed += (size_t)argp->host.size; if (max < needed) goto too_few; bp += argp->host.size; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHL_COPYIN(env, argp->status, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_site_info message")); return (EINVAL); } /* * PUBLIC: int __repmgr_v4site_info_marshal __P((ENV *, * PUBLIC: __repmgr_v4site_info_args *, u_int8_t *, size_t, size_t *)); */ int __repmgr_v4site_info_marshal(env, argp, bp, max, lenp) ENV *env; __repmgr_v4site_info_args *argp; u_int8_t *bp; size_t *lenp, max; { u_int8_t *start; if (max < __REPMGR_V4SITE_INFO_SIZE + (size_t)argp->host.size) return (ENOMEM); start = bp; DB_HTONL_COPYOUT(env, bp, argp->host.size); if (argp->host.size > 0) { memcpy(bp, argp->host.data, argp->host.size); bp += argp->host.size; } DB_HTONS_COPYOUT(env, bp, argp->port); DB_HTONL_COPYOUT(env, bp, argp->flags); *lenp = (size_t)(bp - start); return (0); } /* * PUBLIC: int __repmgr_v4site_info_unmarshal __P((ENV *, * PUBLIC: __repmgr_v4site_info_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_v4site_info_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_v4site_info_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { size_t needed; needed = __REPMGR_V4SITE_INFO_SIZE; if (max < needed) goto too_few; DB_NTOHL_COPYIN(env, argp->host.size, bp); if (argp->host.size == 0) argp->host.data = NULL; else argp->host.data = bp; needed += (size_t)argp->host.size; if (max < needed) goto too_few; bp += argp->host.size; DB_NTOHS_COPYIN(env, argp->port, bp); DB_NTOHL_COPYIN(env, argp->flags, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_v4site_info message")); return (EINVAL); } /* * PUBLIC: void __repmgr_connect_reject_marshal __P((ENV *, * PUBLIC: __repmgr_connect_reject_args *, u_int8_t *)); */ void __repmgr_connect_reject_marshal(env, argp, bp) ENV *env; __repmgr_connect_reject_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->version); DB_HTONL_COPYOUT(env, bp, argp->gen); DB_HTONL_COPYOUT(env, bp, argp->status); } /* * PUBLIC: int __repmgr_connect_reject_unmarshal __P((ENV *, * PUBLIC: __repmgr_connect_reject_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_connect_reject_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_connect_reject_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_CONNECT_REJECT_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->version, bp); DB_NTOHL_COPYIN(env, argp->gen, bp); DB_NTOHL_COPYIN(env, argp->status, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_connect_reject message")); return (EINVAL); } /* * PUBLIC: void __repmgr_v4connect_reject_marshal __P((ENV *, * PUBLIC: __repmgr_v4connect_reject_args *, u_int8_t *)); */ void __repmgr_v4connect_reject_marshal(env, argp, bp) ENV *env; __repmgr_v4connect_reject_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->version); DB_HTONL_COPYOUT(env, bp, argp->gen); } /* * PUBLIC: int __repmgr_v4connect_reject_unmarshal __P((ENV *, * PUBLIC: __repmgr_v4connect_reject_args *, u_int8_t *, size_t, * PUBLIC: u_int8_t **)); */ int __repmgr_v4connect_reject_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_v4connect_reject_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_V4CONNECT_REJECT_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->version, bp); DB_NTOHL_COPYIN(env, argp->gen, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_v4connect_reject message")); return (EINVAL); } /* * PUBLIC: void __repmgr_lsnhist_match_marshal __P((ENV *, * PUBLIC: __repmgr_lsnhist_match_args *, u_int8_t *)); */ void __repmgr_lsnhist_match_marshal(env, argp, bp) ENV *env; __repmgr_lsnhist_match_args *argp; u_int8_t *bp; { DB_HTONL_COPYOUT(env, bp, argp->lsn.file); DB_HTONL_COPYOUT(env, bp, argp->lsn.offset); DB_HTONL_COPYOUT(env, bp, argp->hist_sec); DB_HTONL_COPYOUT(env, bp, argp->hist_nsec); DB_HTONL_COPYOUT(env, bp, argp->next_gen_lsn.file); DB_HTONL_COPYOUT(env, bp, argp->next_gen_lsn.offset); } /* * PUBLIC: int __repmgr_lsnhist_match_unmarshal __P((ENV *, * PUBLIC: __repmgr_lsnhist_match_args *, u_int8_t *, size_t, u_int8_t **)); */ int __repmgr_lsnhist_match_unmarshal(env, argp, bp, max, nextp) ENV *env; __repmgr_lsnhist_match_args *argp; u_int8_t *bp; size_t max; u_int8_t **nextp; { if (max < __REPMGR_LSNHIST_MATCH_SIZE) goto too_few; DB_NTOHL_COPYIN(env, argp->lsn.file, bp); DB_NTOHL_COPYIN(env, argp->lsn.offset, bp); DB_NTOHL_COPYIN(env, argp->hist_sec, bp); DB_NTOHL_COPYIN(env, argp->hist_nsec, bp); DB_NTOHL_COPYIN(env, argp->next_gen_lsn.file, bp); DB_NTOHL_COPYIN(env, argp->next_gen_lsn.offset, bp); if (nextp != NULL) *nextp = bp; return (0); too_few: __db_errx(env, DB_STR("3675", "Not enough input bytes to fill a __repmgr_lsnhist_match message")); return (EINVAL); }