/* * Ouroboros - Copyright (C) 2016 - 2024 * * Messages sent to IRMd * * 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 "model.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_PROC_EXIT = 12; IRM_BIND_PROCESS = 13; IRM_UNBIND_PROCESS = 14; IRM_CREATE_NAME = 15; IRM_DESTROY_NAME = 16; IRM_LIST_NAMES = 17; IRM_REG_NAME = 18; IRM_UNREG_NAME = 19; IRM_FLOW_ALLOC = 20; IRM_FLOW_ACCEPT = 21; IRM_FLOW_JOIN = 22; IRM_FLOW_DEALLOC = 23; IPCP_FLOW_DEALLOC = 24; IPCP_FLOW_REQ_ARR = 25; IPCP_FLOW_ALLOC_REPLY = 26; IRM_REPLY = 27; } message timespec_msg { required uint64 tv_sec = 1; required uint32 tv_nsec = 2; } message ipcp_list_msg { required uint32 pid = 1; required uint32 type = 2; required string name = 3; required string layer = 4; required uint32 hash_algo = 5; } message irm_msg { required irm_msg_code code = 1; optional string prog = 2; optional sint32 pid = 3; optional string name = 4; optional flow_info_msg flow_info = 5; optional ipcp_info_msg ipcp_info = 6; optional string layer = 7; repeated string exec = 8; optional sint32 response = 9; optional string dst = 10; optional bytes hash = 11; optional sint32 flow_id = 12; optional qosspec_msg qosspec = 13; optional ipcp_config_msg conf = 14; optional uint32 opts = 15; repeated ipcp_list_msg ipcps = 16; repeated name_info_msg names = 17; optional timespec_msg timeo = 18; optional sint32 mpl = 20; optional string comp = 21; optional bytes pk = 22; /* piggyback */ optional bytes symmkey = 23; optional uint32 timeo_sec = 24; optional uint32 timeo_nsec = 25; optional sint32 result = 26; }