All Classes Files Functions Variables Pages
RouterAdvertisements.idl
Go to the documentation of this file.
1 /**
2  * @file RouterAdvertisements.idl
3  * @brief Router Advertisements API
4  * @version 1
5  */
6 
7 #import <common.idl>
8 #import <Interfaces.idl>
9 
10 module webadmin {
11 
13  kerio::web::KId id;
14  boolean enabled;
15  IdReference interfaceId;
16  Ip6AddressMask prefix;
17 };
18 
19 typedef sequence<RouterAdvertisement> RouterAdvertisementList;
20 
22  boolean enabled;
23 };
24 
25 enum RouterAdvertisementsModeType {
26  RouterAdvertisementsAutomatic,
27  RouterAdvertisementsManual
28 };
29 
30 
32 
33  /**
34  * Returns list of Router Advertisement entries
35  *
36  * @param list - list of entries
37  * @throws kerio::web::ApiException \n
38  * -32001 Session expired. - "The user is not logged in." \n
39  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
40  */
41  void get(out RouterAdvertisementList list);
42 
43  /**
44  * Stores Router Advertisement entries
45  *
46  * Only 37 prefixes is allowed for one Interface, others will be ignored and error will be returned. Prefixes has to be unique for all interfaces.
47  *
48  * @param errors - list of errors \n
49  * 1001 Already Exists. - "Prefix '%1' is not unique." \n
50  * 8001 Invalid params. - "Prefix '%1' is not valid IPv6 address." \n
51  * 8001 Invalid params. - "Prefix '%1' doesn't match prefix length %2." \n
52  * 8002 Database error. - "Unable to modify Router Advertisement entry '%1'." \n
53  * 8002 Database error. - "Unable to create Router Advertisement entry '%1'." \n
54  * 8002 Database error. - "Unable to remove Router Advertisement entry '%1'." \n
55  * 8005 Too many items. - "Too many prefixes defined for interface '%1'."
56  * @param advertisements - list of advertisment configurations (prefixes) to be stored and advertised
57  * @throws kerio::web::ApiException \n
58  * -32001 Session expired. - "The user is not logged in." \n
59  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
60  */
61  void set(out kerio::web::ErrorList errors, in RouterAdvertisementList advertisements);
62 
63  /**
64  * read Router Advertisements configuration
65  * @param config - configuration values
66  * @throws kerio::web::ApiException \n
67  * -32001 Session expired. - "The user is not logged in." \n
68  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
69  */
70  void getConfig(out RouterAdvertisementsConfig config);
71 
72  /**
73  * stores Router Advertisements configuration
74  * @param config - configuration values
75  * @throws kerio::web::ApiException \n
76  * -32001 Session expired. - "The user is not logged in." \n
77  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
78  */
79  void setConfig(in RouterAdvertisementsConfig config);
80 
81  /**
82  * read Router Advertisements mode
83  * @param mode - result
84  * @throws kerio::web::ApiException \n
85  * -32001 Session expired. - "The user is not logged in." \n
86  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
87  */
88  void getMode(out RouterAdvertisementsModeType mode);
89 
90  /**
91  * stores Router Advertisements mode
92  * @param mode - new value
93  * @throws kerio::web::ApiException \n
94  * -32001 Session expired. - "The user is not logged in." \n
95  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
96  */
97  void setMode(in RouterAdvertisementsModeType mode);
98 
99 
100 };
101 
102 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: common.idl:28
Definition: RouterAdvertisements.idl:21
Definition: RouterAdvertisements.idl:31
Definition: Interfaces.idl:247
API for network interfaces administration.
Definition: RouterAdvertisements.idl:12
Definition: Accounting.idl:11