/* * Ouroboros - Copyright (C) 2016 - 2020 * * IRMd message * * Dimitri Staessens * Sander Vrijders * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * version 2.1 as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., http://www.fsf.org/about/contact/. */ syntax = "proto2"; import "ipcp_config.proto"; import "qosspec.proto"; enum irm_msg_code { IRM_CREATE_IPCP = 1; IPCP_CREATE_R = 2; IRM_DESTROY_IPCP = 3; IRM_LIST_IPCPS = 4; IRM_BOOTSTRAP_IPCP = 5; IRM_ENROLL_IPCP = 6; IRM_CONNECT_IPCP = 7; IRM_DISCONNECT_IPCP = 8; IRM_BIND_PROGRAM = 9; IRM_UNBIND_PROGRAM = 10; IRM_PROC_ANNOUNCE = 11; IRM_BIND_PROCESS = 12; IRM_UNBIND_PROCESS = 13; IRM_CREATE_NAME = 14; IRM_DESTROY_NAME = 15; IRM_LIST_NAMES = 16; IRM_REG_NAME = 17; IRM_UNREG_NAME = 18; IRM_FLOW_ALLOC = 19; IRM_FLOW_ACCEPT = 20; IRM_FLOW_JOIN = 21; IRM_FLOW_DEALLOC = 22; IPCP_FLOW_REQ_ARR = 23; IPCP_FLOW_ALLOC_REPLY = 24; IRM_REPLY = 25; }; message ipcp_info_msg { required uint32 pid = 1; required uint32 type = 2; required string name = 3; required string layer = 4; }; message name_info_msg { required string name = 1; required uint32 pol_lb = 2; }; message irm_msg { required irm_msg_code code = 1; optional string prog = 2; optional sint32 pid = 3; optional string name = 4; optional uint32 ipcp_type = 5; optional string layer = 6; repeated string args = 7; optional sint32 response = 8; optional string dst = 9; optional bytes hash = 10; optional sint32 flow_id = 11; optional qosspec_msg qosspec = 12; optional ipcp_config_msg conf = 13; optional uint32 opts = 14; repeated ipcp_info_msg ipcps = 15; repeated name_info_msg names = 16; optional uint32 timeo_sec = 17; optional uint32 timeo_nsec = 18; optional string comp = 19; optional bytes pk = 20; /* piggyback */ optional sint32 result = 21; };