blob: 18a8f2b698ee5d2da51058d98cdb2cf100d82550 [file] [log] [blame]
/* Hey Emacs use -*- mode: C -*- */
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
option version = "1.0.0";
/** \brief Proof of Transit(POT): Set POT profile
@param id - id of the profile
@param validator - True/False to indicate if this is verifier
@param secret_key - Verification key
@param secret_share - Share of the 1st polynomial
@param prime - Prime number used for modulo operation
@param max_bits - Max bits to be used for Random number generation
@param lpc - Lagrange basis polynomial
@param polynomial_public - pre-evaluated public polynomial
@param list_name - name of this profile list
*/
autoreply define pot_profile_add {
u32 client_index;
u32 context;
u8 id;
u8 validator;
u64 secret_key;
u64 secret_share;
u64 prime;
u8 max_bits;
u64 lpc;
u64 polynomial_public;
string list_name[];
};
/** \brief Proof of Transit(POT): Activate POT profile in the list
@param id - id of the profile
@param list_name - name of this profile list
*/
autoreply define pot_profile_activate {
u32 client_index;
u32 context;
u8 id;
string list_name[];
};
/** \brief Delete POT Profile
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param list_name - name of profile list to delete
*/
autoreply define pot_profile_del {
u32 client_index;
u32 context;
string list_name[];
};
/** \brief Show POT Profiles
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param id - id of the profile
*/
define pot_profile_show_config_dump {
u32 client_index;
u32 context;
u8 id;
};
/** \brief Show POT profile reply
@param id - id of the profile
@param validator - True/False to indicate if this is verifier
@param secret_key - Verification key
@param secret_share - Share of the 1st polynomial
@param prime - Prime number used for modulo operation
@param max_bits - Max bits to be used for Random number generation
@param lpc - Lagrange basis polynomial
@param polynomial_public - pre-evaluated public polynomial
@param list_name_len - length of the name of this profile list
@param list_name - name of this profile list
*/
define pot_profile_show_config_details {
u32 context;
i32 retval;
u8 id;
u8 validator;
u64 secret_key;
u64 secret_share;
u64 prime;
u64 bit_mask;
u64 lpc;
u64 polynomial_public;
};