<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def addmsg(self, msg_p):
 """ Push encoded message as a new frame. Message takes ownership of submessage, so the original is destroyed in this call. Returns 0 on success, -1 on error. """

        return lib.zmsg_addmsg(self._as_parameter_, byref(zmsg_p.from_param(msg_p)))