1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     friends_Result.h
4   Copyright (C)2009 Nintendo Co., Ltd.  All rights reserved.
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law. They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10   $Rev: 36180 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_FRIENDS_CTR_FRIENDS_RESULT_H_
17 #define NN_FRIENDS_CTR_FRIENDS_RESULT_H_
18 
19 #ifdef __cplusplus
20 
21 #include <nn/Result.h>
22 
23 namespace nn {
24 namespace friends {
25 namespace CTR {
26 
27     namespace detail {
28         static const u32 DESCRIPTION_FACILITY_SHIFT = 5;
29         static const u32 DESCRIPTION_RETURN_CODE_UNDEFINED = (1 << (DESCRIPTION_FACILITY_SHIFT + 1)) - 1;
30     }
31 
32     enum Description
33     {
34         DESCRIPTION_FACILITY_CORE           = 1 << detail::DESCRIPTION_FACILITY_SHIFT,
35         DESCRIPTION_FACILITY_DDL            = 2 << detail::DESCRIPTION_FACILITY_SHIFT,
36         DESCRIPTION_FACILITY_RENDEZVOUS     = 3 << detail::DESCRIPTION_FACILITY_SHIFT,
37         DESCRIPTION_FACILITY_PYTHONCORE     = 4 << detail::DESCRIPTION_FACILITY_SHIFT,
38         DESCRIPTION_FACILITY_TRANSPORT      = 5 << detail::DESCRIPTION_FACILITY_SHIFT,
39         DESCRIPTION_FACILITY_DOCORE         = 6 << detail::DESCRIPTION_FACILITY_SHIFT,
40         DESCRIPTION_FACILITY_FPD            = 7 << detail::DESCRIPTION_FACILITY_SHIFT,
41         DESCRIPTION_FACILITY_AUTHENTICATION = 8 << detail::DESCRIPTION_FACILITY_SHIFT,
42 
43         DESCRIPTION_CORE_SUCCESS                                     = DESCRIPTION_FACILITY_CORE + 0,
44         DESCRIPTION_CORE_SUCCESS_PENDING                             = DESCRIPTION_FACILITY_CORE + 1,
45         DESCRIPTION_CORE_UNKNOWN                                     = DESCRIPTION_FACILITY_CORE + 2,
46         DESCRIPTION_CORE_NOT_IMPLEMENTED                             = DESCRIPTION_FACILITY_CORE + 3,
47         DESCRIPTION_CORE_INVALID_POINTER                             = DESCRIPTION_FACILITY_CORE + 4,
48         DESCRIPTION_CORE_OPERATION_ABORTED                           = DESCRIPTION_FACILITY_CORE + 5,
49         DESCRIPTION_CORE_EXCEPTION                                   = DESCRIPTION_FACILITY_CORE + 6,
50         DESCRIPTION_CORE_ACCESS_DENIED                               = DESCRIPTION_FACILITY_CORE + 7,
51         DESCRIPTION_CORE_INVALID_HANDLE                              = DESCRIPTION_FACILITY_CORE + 8,
52         DESCRIPTION_CORE_INVALID_INDEX                               = DESCRIPTION_FACILITY_CORE + 9,
53         DESCRIPTION_CORE_OUT_OF_MEMORY                               = DESCRIPTION_FACILITY_CORE + 10,
54         DESCRIPTION_CORE_INVALID_ARGUMENT                            = DESCRIPTION_FACILITY_CORE + 11,
55         DESCRIPTION_CORE_TIMEOUT                                     = DESCRIPTION_FACILITY_CORE + 12,
56         DESCRIPTION_CORE_INITIALIZATION_FAILURE                      = DESCRIPTION_FACILITY_CORE + 13,
57         DESCRIPTION_CORE_CALL_INITIATION_FAILURE                     = DESCRIPTION_FACILITY_CORE + 14,
58         DESCRIPTION_CORE_REGISTRATION_ERROR                          = DESCRIPTION_FACILITY_CORE + 15,
59         DESCRIPTION_CORE_BUFFER_OVERFLOW                             = DESCRIPTION_FACILITY_CORE + 16,
60         DESCRIPTION_CORE_INVALID_LOCK_STATE                          = DESCRIPTION_FACILITY_CORE + 17,
61         DESCRIPTION_CORE_UNDEFINED                                   = DESCRIPTION_FACILITY_CORE + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
62 
63         DESCRIPTION_DDL_SUCCESS                                      = DESCRIPTION_FACILITY_DDL + 0,
64         DESCRIPTION_DDL_INVALID_SIGNATURE                            = DESCRIPTION_FACILITY_DDL + 1,
65         DESCRIPTION_DDL_INCORRECT_VERSION                            = DESCRIPTION_FACILITY_DDL + 2,
66         DESCRIPTION_DDL_UNDEFINED                                    = DESCRIPTION_FACILITY_DDL + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
67 
68         DESCRIPTION_RENDEZVOUS_SUCCESS                               = DESCRIPTION_FACILITY_RENDEZVOUS + 0,
69         DESCRIPTION_RENDEZVOUS_CONNECTION_FAILURE                    = DESCRIPTION_FACILITY_RENDEZVOUS + 1,
70         DESCRIPTION_RENDEZVOUS_NOT_AUTHENTICATED                     = DESCRIPTION_FACILITY_RENDEZVOUS + 2,
71         DESCRIPTION_RENDEZVOUS_INVALID_USERNAME                      = DESCRIPTION_FACILITY_RENDEZVOUS + 3,
72         DESCRIPTION_RENDEZVOUS_INVALID_PASSWORD                      = DESCRIPTION_FACILITY_RENDEZVOUS + 4,
73         DESCRIPTION_RENDEZVOUS_USERNAME_ALREADY_EXISTS               = DESCRIPTION_FACILITY_RENDEZVOUS + 5,
74         DESCRIPTION_RENDEZVOUS_ACCOUNT_DISABLED                      = DESCRIPTION_FACILITY_RENDEZVOUS + 6,
75         DESCRIPTION_RENDEZVOUS_ACCOUNT_EXPIRED                       = DESCRIPTION_FACILITY_RENDEZVOUS + 7,
76         DESCRIPTION_RENDEZVOUS_CONCURRENT_LOGIN_DENIED               = DESCRIPTION_FACILITY_RENDEZVOUS + 8,
77         DESCRIPTION_RENDEZVOUS_ENCRYPTION_FAILURE                    = DESCRIPTION_FACILITY_RENDEZVOUS + 9,
78         DESCRIPTION_RENDEZVOUS_INVALID_PID                           = DESCRIPTION_FACILITY_RENDEZVOUS + 10,
79         DESCRIPTION_RENDEZVOUS_MAX_CONNECTIONS_REACHED               = DESCRIPTION_FACILITY_RENDEZVOUS + 11,
80         DESCRIPTION_RENDEZVOUS_INVALID_GID                           = DESCRIPTION_FACILITY_RENDEZVOUS + 12,
81         DESCRIPTION_RENDEZVOUS_INVALID_THREAD_ID                     = DESCRIPTION_FACILITY_RENDEZVOUS + 13,
82         DESCRIPTION_RENDEZVOUS_INVALID_OPERATION_IN_LIVE_ENVIRONMENT = DESCRIPTION_FACILITY_RENDEZVOUS + 14,
83         DESCRIPTION_RENDEZVOUS_DUPLICATE_ENTRY                       = DESCRIPTION_FACILITY_RENDEZVOUS + 15,
84         DESCRIPTION_RENDEZVOUS_CONTROL_SCRIPT_FAILURE                = DESCRIPTION_FACILITY_RENDEZVOUS + 16,
85         DESCRIPTION_RENDEZVOUS_CLASS_NOT_FOUND                       = DESCRIPTION_FACILITY_RENDEZVOUS + 17,
86         DESCRIPTION_RENDEZVOUS_SESSION_VOID                          = DESCRIPTION_FACILITY_RENDEZVOUS + 18,
87         DESCRIPTION_RENDEZVOUS_LSP_GATEWAY_UNREACHABLE               = DESCRIPTION_FACILITY_RENDEZVOUS + 19,
88         DESCRIPTION_RENDEZVOUS_DDL_MISMATCH                          = DESCRIPTION_FACILITY_RENDEZVOUS + 20,
89         DESCRIPTION_RENDEZVOUS_INVALID_FTP_INFO                      = DESCRIPTION_FACILITY_RENDEZVOUS + 21,
90         DESCRIPTION_RENDEZVOUS_SESSION_FULL                          = DESCRIPTION_FACILITY_RENDEZVOUS + 22,
91         DESCRIPTION_RENDEZVOUS_UNDEFINED                             = DESCRIPTION_FACILITY_RENDEZVOUS + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
92 
93         DESCRIPTION_PYTHONCORE_SUCCESS                               = DESCRIPTION_FACILITY_PYTHONCORE + 0,
94         DESCRIPTION_PYTHONCORE_EXCEPTION                             = DESCRIPTION_FACILITY_PYTHONCORE + 1,
95         DESCRIPTION_PYTHONCORE_TYPE_ERROR                            = DESCRIPTION_FACILITY_PYTHONCORE + 2,
96         DESCRIPTION_PYTHONCORE_INDEX_ERROR                           = DESCRIPTION_FACILITY_PYTHONCORE + 3,
97         DESCRIPTION_PYTHONCORE_INVALID_REFERENCE                     = DESCRIPTION_FACILITY_PYTHONCORE + 4,
98         DESCRIPTION_PYTHONCORE_CALL_FAILURE                          = DESCRIPTION_FACILITY_PYTHONCORE + 5,
99         DESCRIPTION_PYTHONCORE_MEMORY_ERROR                          = DESCRIPTION_FACILITY_PYTHONCORE + 6,
100         DESCRIPTION_PYTHONCORE_KEY_ERROR                             = DESCRIPTION_FACILITY_PYTHONCORE + 7,
101         DESCRIPTION_PYTHONCORE_OPERATION_ERROR                       = DESCRIPTION_FACILITY_PYTHONCORE + 8,
102         DESCRIPTION_PYTHONCORE_CONVERSION_ERROR                      = DESCRIPTION_FACILITY_PYTHONCORE + 9,
103         DESCRIPTION_PYTHONCORE_VALIDATION_ERROR                      = DESCRIPTION_FACILITY_PYTHONCORE + 10,
104         DESCRIPTION_PYTHONCORE_UNDEFINED                             = DESCRIPTION_FACILITY_PYTHONCORE + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
105 
106         DESCRIPTION_TRANSPORT_SUCCESS                                = DESCRIPTION_FACILITY_TRANSPORT + 0,
107         DESCRIPTION_TRANSPORT_UNKNOWN                                = DESCRIPTION_FACILITY_TRANSPORT + 1,
108         DESCRIPTION_TRANSPORT_CONNECTION_FAILURE                     = DESCRIPTION_FACILITY_TRANSPORT + 2,
109         DESCRIPTION_TRANSPORT_INVALID_URL                            = DESCRIPTION_FACILITY_TRANSPORT + 3,
110         DESCRIPTION_TRANSPORT_INVALID_KEY                            = DESCRIPTION_FACILITY_TRANSPORT + 4,
111         DESCRIPTION_TRANSPORT_INVALID_URL_TYPE                       = DESCRIPTION_FACILITY_TRANSPORT + 5,
112         DESCRIPTION_TRANSPORT_DUPLICATE_ENDPOINT                     = DESCRIPTION_FACILITY_TRANSPORT + 6,
113         DESCRIPTION_TRANSPORT_IO_ERROR                               = DESCRIPTION_FACILITY_TRANSPORT + 7,
114         DESCRIPTION_TRANSPORT_TIMEOUT                                = DESCRIPTION_FACILITY_TRANSPORT + 8,
115         DESCRIPTION_TRANSPORT_CONNECTION_RESET                       = DESCRIPTION_FACILITY_TRANSPORT + 9,
116         DESCRIPTION_TRANSPORT_INCORRECT_REMOTE_AUTHENTICATION        = DESCRIPTION_FACILITY_TRANSPORT + 10,
117         DESCRIPTION_TRANSPORT_SERVER_REQUEST_ERROR                   = DESCRIPTION_FACILITY_TRANSPORT + 11,
118         DESCRIPTION_TRANSPORT_DECOMPRESSION_FAILURE                  = DESCRIPTION_FACILITY_TRANSPORT + 12,
119         DESCRIPTION_TRANSPORT_CONGESTED_END_POINT                    = DESCRIPTION_FACILITY_TRANSPORT + 13,
120         DESCRIPTION_TRANSPORT_UPNP_CANNOT_INIT                       = DESCRIPTION_FACILITY_TRANSPORT + 14,
121         DESCRIPTION_TRANSPORT_UPNP_CANNOT_ADD_MAPPING                = DESCRIPTION_FACILITY_TRANSPORT + 15,
122         DESCRIPTION_TRANSPORT_NAT_PMP_CANNOT_INIT                    = DESCRIPTION_FACILITY_TRANSPORT + 16,
123         DESCRIPTION_TRANSPORT_NAT_PMP_CANNOT_ADD_MAPPING             = DESCRIPTION_FACILITY_TRANSPORT + 17,
124         DESCRIPTION_TRANSPORT_UNDEFINED                              = DESCRIPTION_FACILITY_TRANSPORT + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
125 
126         DESCRIPTION_DOCORE_SUCCESS                                   = DESCRIPTION_FACILITY_DOCORE + 0,
127         DESCRIPTION_DOCORE_CALL_POSTPONED                            = DESCRIPTION_FACILITY_DOCORE + 1,
128         DESCRIPTION_DOCORE_STATION_NOT_REACHED                       = DESCRIPTION_FACILITY_DOCORE + 2,
129         DESCRIPTION_DOCORE_TARGET_STATION_DISCONNECT                 = DESCRIPTION_FACILITY_DOCORE + 3,
130         DESCRIPTION_DOCORE_LOCAL_STATION_LEAVING                     = DESCRIPTION_FACILITY_DOCORE + 4,
131         DESCRIPTION_DOCORE_OBJECT_NOT_FOUND                          = DESCRIPTION_FACILITY_DOCORE + 5,
132         DESCRIPTION_DOCORE_INVALID_ROLE                              = DESCRIPTION_FACILITY_DOCORE + 6,
133         DESCRIPTION_DOCORE_CALL_TIMEOUT                              = DESCRIPTION_FACILITY_DOCORE + 7,
134         DESCRIPTION_DOCORE_RMC_DISPATCH_FAILED                       = DESCRIPTION_FACILITY_DOCORE + 8,
135         DESCRIPTION_DOCORE_MIGRATION_IN_PROGRESS                     = DESCRIPTION_FACILITY_DOCORE + 9,
136         DESCRIPTION_DOCORE_NO_AUTHORITY                              = DESCRIPTION_FACILITY_DOCORE + 10,
137         DESCRIPTION_DOCORE_NO_TARGET_STATION_SPECIFIED               = DESCRIPTION_FACILITY_DOCORE + 11,
138         DESCRIPTION_DOCORE_JOIN_FAILED                               = DESCRIPTION_FACILITY_DOCORE + 12,
139         DESCRIPTION_DOCORE_JOIN_DENIED                               = DESCRIPTION_FACILITY_DOCORE + 13,
140         DESCRIPTION_DOCORE_CONNECTIVITY_TEST_FAILED                  = DESCRIPTION_FACILITY_DOCORE + 14,
141         DESCRIPTION_DOCORE_UNKNOWN                                   = DESCRIPTION_FACILITY_DOCORE + 15,
142         DESCRIPTION_DOCORE_UNFREED_REFERENCES                        = DESCRIPTION_FACILITY_DOCORE + 16,
143         DESCRIPTION_DOCORE_UNDEFINED                                 = DESCRIPTION_FACILITY_DOCORE + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
144 
145         DESCRIPTION_FPD_SUCCESS                                      = DESCRIPTION_FACILITY_FPD + 0,
146         DESCRIPTION_RMC_NOT_CALLED                                   = DESCRIPTION_FACILITY_FPD + 1,
147         DESCRIPTION_DAEMON_NOT_INITIALIZED                           = DESCRIPTION_FACILITY_FPD + 2,
148         DESCRIPTION_DAEMON_ALREADY_INITIALIZED                       = DESCRIPTION_FACILITY_FPD + 3,
149         DESCRIPTION_NOT_CONNECTED                                    = DESCRIPTION_FACILITY_FPD + 4,
150         DESCRIPTION_CONNECTED                                        = DESCRIPTION_FACILITY_FPD + 5,
151         DESCRIPTION_INITIALIZATION_FAILURE                           = DESCRIPTION_FACILITY_FPD + 6,
152         DESCRIPTION_OUT_OF_MEMORY                                    = DESCRIPTION_FACILITY_FPD + 7,
153         DESCRIPTION_RMC_FAILED                                       = DESCRIPTION_FACILITY_FPD + 8,
154         DESCRIPTION_INVALID_ARGUMENT                                 = DESCRIPTION_FACILITY_FPD + 9,
155         DESCRIPTION_INVALID_LOCAL_ACCOUNT_ID                         = DESCRIPTION_FACILITY_FPD + 10,
156         DESCRIPTION_INVALID_PRINCIPAL_ID                             = DESCRIPTION_FACILITY_FPD + 11,
157         DESCRIPTION_INVALID_LOCAL_FRIEND_CODE                        = DESCRIPTION_FACILITY_FPD + 12,
158         DESCRIPTION_LOCAL_ACCOUNT_NOT_EXISTS                         = DESCRIPTION_FACILITY_FPD + 13,
159         DESCRIPTION_LOCAL_ACCOUNT_NOT_LOADED                         = DESCRIPTION_FACILITY_FPD + 14,
160         DESCRIPTION_LOCAL_ACCOUNT_ALREADY_LOADED                     = DESCRIPTION_FACILITY_FPD + 15,
161         DESCRIPTION_FRIEND_ALREADY_EXISTS                            = DESCRIPTION_FACILITY_FPD + 16,
162         DESCRIPTION_FRIEND_NOT_EXISTS                                = DESCRIPTION_FACILITY_FPD + 17,
163         DESCRIPTION_FRIEND_NUM_MAX                                   = DESCRIPTION_FACILITY_FPD + 18,
164         DESCRIPTION_NOT_FRIEND                                       = DESCRIPTION_FACILITY_FPD + 19,
165         DESCRIPTION_FILE_IO_ERROR                                    = DESCRIPTION_FACILITY_FPD + 20,
166         DESCRIPTION_P2P_INTERNET_PROHIBITED                          = DESCRIPTION_FACILITY_FPD + 21,
167         DESCRIPTION_UNKNOWN                                          = DESCRIPTION_FACILITY_FPD + 22,
168         DESCRIPTION_FPD_UNDEFINED                                    = DESCRIPTION_FACILITY_FPD + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
169 
170         DESCRIPTION_AUTHENTICATION_SUCCESS                           = DESCRIPTION_FACILITY_AUTHENTICATION + 0,
171         DESCRIPTION_AUTHENTICATION_NAS_AUTHENTICATE_ERROR            = DESCRIPTION_FACILITY_AUTHENTICATION + 1,
172         DESCRIPTION_AUTHENTICATION_TOKEN_PARSE_ERROR                 = DESCRIPTION_FACILITY_AUTHENTICATION + 2,
173         DESCRIPTION_AUTHENTICATION_HTTP_CONNECTION_ERROR             = DESCRIPTION_FACILITY_AUTHENTICATION + 3,
174         DESCRIPTION_AUTHENTICATION_HTTP_DNS_ERROR                    = DESCRIPTION_FACILITY_AUTHENTICATION + 4,
175         DESCRIPTION_AUTHENTICATION_HTTP_GET_PROXY_SETTING            = DESCRIPTION_FACILITY_AUTHENTICATION + 5,
176         DESCRIPTION_AUTHENTICATION_TOKEN_EXPIRED                     = DESCRIPTION_FACILITY_AUTHENTICATION + 6,
177         DESCRIPTION_AUTHENTICATION_VALIDATION_FAILED                 = DESCRIPTION_FACILITY_AUTHENTICATION + 7,
178         DESCRIPTION_AUTHENTICATION_INVALID_PARAM                     = DESCRIPTION_FACILITY_AUTHENTICATION + 8,
179         DESCRIPTION_AUTHENTICATION_PRINCIPAL_ID_UNMATCHED            = DESCRIPTION_FACILITY_AUTHENTICATION + 9,
180         DESCRIPTION_AUTHENTICATION_MOVE_COUNT_UNMATCH                = DESCRIPTION_FACILITY_AUTHENTICATION + 10,
181         DESCRIPTION_AUTHENTICATION_UNDER_MAINTENANCE                 = DESCRIPTION_FACILITY_AUTHENTICATION + 11,
182         DESCRIPTION_AUTHENTICATION_UNSUPPORTED_VERSION               = DESCRIPTION_FACILITY_AUTHENTICATION + 12,
183         DESCRIPTION_AUTHENTICATION_UNKNOWN                           = DESCRIPTION_FACILITY_AUTHENTICATION + 13,
184         DESCRIPTION_AUTHENTICATION_UNDEFINED                         = DESCRIPTION_FACILITY_AUTHENTICATION + detail::DESCRIPTION_RETURN_CODE_UNDEFINED,
185 
186         DESCRIPTION_FACILITY_CTR        = 0 << detail::DESCRIPTION_FACILITY_SHIFT,
187 
188         DESCRIPTION_INVALID_FRIEND_CODE = DESCRIPTION_FACILITY_CTR + 1,
189         DESCRIPTION_NOT_LOGGED_IN,
190         DESCRIPTION_NOT_FRIENDS_RESULT,
191         DESCRIPTION_UNDEFINED_FACILITY,
192         DESCRIPTION_AC_NOT_CONNECTED
193     };
194 
195 
196     /* Please see man pages for details
197 
198 
199     */
200     NN_DEFINE_RESULT_CONST(
201         ResultCoreTimeOut,
202         Result::LEVEL_STATUS,   Result::SUMMARY_CANCELLED,        Result::MODULE_NN_FRIENDS,
203         DESCRIPTION_CORE_TIMEOUT
204     );
205 
206     /* Please see man pages for details
207 
208 
209     */
210     NN_DEFINE_RESULT_CONST(
211         ResultCoreCallInitiationFailure,
212         Result::LEVEL_STATUS,   Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
213         DESCRIPTION_CORE_CALL_INITIATION_FAILURE
214     );
215 
216     /* Please see man pages for details
217 
218 
219     */
220     NN_DEFINE_RESULT_CONST(
221         ResultTransportConnectionFailure,
222         Result::LEVEL_STATUS,   Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
223         DESCRIPTION_TRANSPORT_CONNECTION_FAILURE
224     );
225 
226 
227     /* Please see man pages for details
228 
229 
230 
231     */
232     NN_DEFINE_RESULT_CONST(
233         ResultRmcNotCalled,
234         Result::LEVEL_SUCCESS,   Result::SUMMARY_SUCCESS,          Result::MODULE_NN_FRIENDS,
235         DESCRIPTION_RMC_NOT_CALLED
236     );
237 
238     /* Please see man pages for details
239 
240 
241 
242     */
243     NN_DEFINE_RESULT_CONST(
244         ResultDaemonNotInitialized,
245         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
246         DESCRIPTION_DAEMON_NOT_INITIALIZED
247     );
248 
249     /* Please see man pages for details
250 
251 
252 
253     */
254     NN_DEFINE_RESULT_CONST(
255         ResultDaemonAlreadyInitialized,
256         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
257         DESCRIPTION_DAEMON_ALREADY_INITIALIZED
258     );
259 
260     /* Please see man pages for details
261 
262 
263 
264 
265     */
266     NN_DEFINE_RESULT_CONST(
267         ResultNotConnected,
268         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
269         DESCRIPTION_NOT_CONNECTED
270     );
271 
272     /* Please see man pages for details
273 
274 
275 
276 
277     */
278     NN_DEFINE_RESULT_CONST(
279         ResultConnected,
280         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
281         DESCRIPTION_CONNECTED
282     );
283 
284     /* Please see man pages for details
285 
286 
287 
288     */
289     NN_DEFINE_RESULT_CONST(
290         ResultInitializationFailure,
291         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
292         DESCRIPTION_INITIALIZATION_FAILURE
293     );
294 
295     /* Please see man pages for details
296 
297 
298 
299     */
300     NN_DEFINE_RESULT_CONST(
301         ResultOutOfMemory,
302         Result::LEVEL_STATUS,    Result::SUMMARY_OUT_OF_RESOURCE,  Result::MODULE_NN_FRIENDS,
303         DESCRIPTION_OUT_OF_MEMORY
304     );
305 
306     /* Please see man pages for details
307 
308 
309 
310     */
311     NN_DEFINE_RESULT_CONST(
312         ResultRmcFailed,
313         Result::LEVEL_PERMANENT, Result::SUMMARY_CANCELLED,        Result::MODULE_NN_FRIENDS,
314         DESCRIPTION_RMC_FAILED
315     );
316 
317     /* Please see man pages for details
318 
319 
320     */
321     NN_DEFINE_RESULT_CONST(
322         ResultInvalidArgument,
323         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
324         DESCRIPTION_INVALID_ARGUMENT
325     );
326 
327     /* Please see man pages for details
328 
329 
330 
331     */
332     NN_DEFINE_RESULT_CONST(
333         ResultInvalidLocalAccountId,
334         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
335         DESCRIPTION_INVALID_LOCAL_ACCOUNT_ID
336     );
337 
338     /* Please see man pages for details
339 
340 
341 
342     */
343     NN_DEFINE_RESULT_CONST(
344         ResultInvalidPrincipalId,
345         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
346         DESCRIPTION_INVALID_PRINCIPAL_ID
347     );
348 
349     /* Please see man pages for details
350 
351 
352 
353     */
354     NN_DEFINE_RESULT_CONST(
355         ResultInvalidLocalFriendCode,
356         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
357         DESCRIPTION_INVALID_LOCAL_FRIEND_CODE
358     );
359 
360     /* Please see man pages for details
361 
362 
363 
364     */
365     NN_DEFINE_RESULT_CONST(
366         ResultLocalAccountNotExists,
367         Result::LEVEL_STATUS,    Result::SUMMARY_NOT_FOUND,        Result::MODULE_NN_FRIENDS,
368         DESCRIPTION_LOCAL_ACCOUNT_NOT_EXISTS
369     );
370 
371     /* Please see man pages for details
372 
373 
374 
375     */
376     NN_DEFINE_RESULT_CONST(
377         ResultLocalAccountNotLoaded,
378         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
379         DESCRIPTION_LOCAL_ACCOUNT_NOT_LOADED
380     );
381 
382     /* Please see man pages for details
383 
384 
385 
386     */
387     NN_DEFINE_RESULT_CONST(
388         ResultLocalAccountAlreadyLoaded,
389         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
390         DESCRIPTION_LOCAL_ACCOUNT_ALREADY_LOADED
391     );
392 
393     /* Please see man pages for details
394 
395 
396 
397     */
398     NN_DEFINE_RESULT_CONST(
399         ResultFriendAlreadyExists,
400         Result::LEVEL_PERMANENT, Result::SUMMARY_WRONG_ARGUMENT,   Result::MODULE_NN_FRIENDS,
401         DESCRIPTION_FRIEND_ALREADY_EXISTS
402     );
403 
404     /* Please see man pages for details
405 
406 
407 
408     */
409     NN_DEFINE_RESULT_CONST(
410         ResultFriendNotExists,
411         Result::LEVEL_PERMANENT, Result::SUMMARY_WRONG_ARGUMENT,   Result::MODULE_NN_FRIENDS,
412         DESCRIPTION_FRIEND_NOT_EXISTS
413     );
414 
415     /* Please see man pages for details
416 
417 
418 
419     */
420     NN_DEFINE_RESULT_CONST(
421         ResultFriendNumMax,
422         Result::LEVEL_PERMANENT, Result::SUMMARY_OUT_OF_RESOURCE,  Result::MODULE_NN_FRIENDS,
423         DESCRIPTION_FRIEND_NUM_MAX
424     );
425 
426     /* Please see man pages for details
427 
428 
429 
430     */
431     NN_DEFINE_RESULT_CONST(
432         ResultNotFriend,
433         Result::LEVEL_PERMANENT, Result::SUMMARY_WRONG_ARGUMENT,   Result::MODULE_NN_FRIENDS,
434         DESCRIPTION_NOT_FRIEND
435     );
436 
437     /* Please see man pages for details
438 
439 
440 
441     */
442     NN_DEFINE_RESULT_CONST(
443         ResultFileIoError,
444         Result::LEVEL_PERMANENT, Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
445         DESCRIPTION_FILE_IO_ERROR
446     );
447 
448     /* Please see man pages for details
449 
450 
451     */
452     NN_DEFINE_RESULT_CONST(
453         ResultP2pInternetProhibited,
454         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
455         DESCRIPTION_P2P_INTERNET_PROHIBITED
456     );
457 
458     /* Please see man pages for details
459 
460 
461 
462     */
463     NN_DEFINE_RESULT_CONST(
464         ResultUnknown,
465         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
466         DESCRIPTION_UNKNOWN
467     );
468 
469 
470     /* Please see man pages for details
471 
472 
473     */
474     NN_DEFINE_RESULT_CONST(
475         ResultNasAuthenticationError,
476         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
477         DESCRIPTION_AUTHENTICATION_NAS_AUTHENTICATE_ERROR
478     );
479 
480     /* Please see man pages for details
481 
482 
483     */
484     NN_DEFINE_RESULT_CONST(
485         ResultAuthenticationTokenParseError,
486         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
487         DESCRIPTION_AUTHENTICATION_TOKEN_PARSE_ERROR
488     );
489 
490     /* Please see man pages for details
491 
492 
493     */
494     NN_DEFINE_RESULT_CONST(
495         ResultAuthenticationHttpConnectionError,
496         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
497         DESCRIPTION_AUTHENTICATION_HTTP_CONNECTION_ERROR
498     );
499 
500     /* Please see man pages for details
501 
502 
503     */
504     NN_DEFINE_RESULT_CONST(
505         ResultAuthenticationDnsError,
506         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
507         DESCRIPTION_AUTHENTICATION_HTTP_DNS_ERROR
508     );
509 
510     /* Please see man pages for details
511 
512 
513     */
514     NN_DEFINE_RESULT_CONST(
515         ResultAuthenticationHttpGetProxySetting,
516         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
517         DESCRIPTION_AUTHENTICATION_HTTP_GET_PROXY_SETTING
518     );
519 
520     /* Please see man pages for details
521 
522 
523 
524     */
525     NN_DEFINE_RESULT_CONST(
526         ResultAuthenticationTokenExpired,
527         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
528         DESCRIPTION_AUTHENTICATION_TOKEN_EXPIRED
529     );
530 
531     /* Please see man pages for details
532 
533 
534     */
535     NN_DEFINE_RESULT_CONST(
536         ResultAuthenticationValidationFailed,
537         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
538         DESCRIPTION_AUTHENTICATION_VALIDATION_FAILED
539     );
540 
541     /* Please see man pages for details
542 
543 
544     */
545     NN_DEFINE_RESULT_CONST(
546         ResultAuthenticationInvalidParam,
547         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
548         DESCRIPTION_AUTHENTICATION_INVALID_PARAM
549     );
550 
551     /* Please see man pages for details
552 
553 
554     */
555     NN_DEFINE_RESULT_CONST(
556         ResultAuthenticationPrincipalIdUnmatched,
557         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
558         DESCRIPTION_AUTHENTICATION_PRINCIPAL_ID_UNMATCHED
559     );
560 
561     /* Please see man pages for details
562 
563 
564     */
565     NN_DEFINE_RESULT_CONST(
566         ResultAuthenticationMoveCountUnmatch,
567         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
568         DESCRIPTION_AUTHENTICATION_MOVE_COUNT_UNMATCH
569     );
570 
571     /* Please see man pages for details
572 
573 
574     */
575     NN_DEFINE_RESULT_CONST(
576         ResultAuthenticationUnderMaintenance,
577         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
578         DESCRIPTION_AUTHENTICATION_UNDER_MAINTENANCE
579     );
580 
581     /* Please see man pages for details
582 
583 
584     */
585     NN_DEFINE_RESULT_CONST(
586         ResultAuthenticationUnsupportedVersion,
587         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
588         DESCRIPTION_AUTHENTICATION_UNSUPPORTED_VERSION
589     );
590 
591     /* Please see man pages for details
592 
593 
594 
595     */
596     NN_DEFINE_RESULT_CONST(
597         ResultAuthenticationUnknown,
598         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
599         DESCRIPTION_AUTHENTICATION_UNKNOWN
600     );
601 
602     /* Please see man pages for details
603 
604 
605 
606     */
607     NN_DEFINE_RESULT_CONST(
608         ResultAuthenticationUndefined,
609         Result::LEVEL_STATUS,    Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
610         DESCRIPTION_AUTHENTICATION_UNDEFINED
611     );
612 
613 
614     /* Please see man pages for details
615 
616 
617 
618     */
619     NN_DEFINE_RESULT_CONST(
620         ResultInvalidFriendCode,
621         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
622         DESCRIPTION_INVALID_FRIEND_CODE
623     );
624 
625     /* Please see man pages for details
626 
627 
628 
629     */
630     NN_DEFINE_RESULT_CONST(
631         ResultNotLoggedIn,
632         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
633         DESCRIPTION_NOT_LOGGED_IN
634     );
635 
636     /* Please see man pages for details
637 
638 
639 
640     */
641     NN_DEFINE_RESULT_CONST(
642         ResultNotFriendsResult,
643         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
644         DESCRIPTION_NOT_FRIENDS_RESULT
645     );
646 
647     /* Please see man pages for details
648 
649 
650 
651     */
652     NN_DEFINE_RESULT_CONST(
653         ResultUndefinedFacilitySuccess,
654         Result::LEVEL_SUCCESS,   Result::SUMMARY_SUCCESS,          Result::MODULE_NN_FRIENDS,
655         DESCRIPTION_UNDEFINED_FACILITY
656     );
657 
658     /* Please see man pages for details
659 
660 
661 
662     */
663     NN_DEFINE_RESULT_CONST(
664         ResultUndefinedFacilityFailure,
665         Result::LEVEL_PERMANENT, Result::SUMMARY_INTERNAL,         Result::MODULE_NN_FRIENDS,
666         DESCRIPTION_UNDEFINED_FACILITY
667     );
668 
669     /* Please see man pages for details
670 
671 
672     */
673     NN_DEFINE_RESULT_CONST(
674         ResultAcNotConnected,
675         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
676         DESCRIPTION_AC_NOT_CONNECTED
677     );
678 
679 
680     /* Please see man pages for details
681 
682 
683     */
684     NN_DEFINE_RESULT_CONST(
685         ResultNotInitialized,
686         Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
687         Result::DESCRIPTION_NOT_INITIALIZED
688     );
689 
690     /* Please see man pages for details
691 
692 
693     */
694     NN_DEFINE_RESULT_CONST(
695         ResultInvalidHandle,
696         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
697         Result::DESCRIPTION_INVALID_HANDLE
698     );
699 
700     /* Please see man pages for details
701 
702 
703     */
704     NN_DEFINE_RESULT_CONST(
705         ResultInvalidPointer,
706         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
707         Result::DESCRIPTION_INVALID_POINTER
708     );
709 
710     /* Please see man pages for details
711 
712 
713     */
714     NN_DEFINE_RESULT_CONST(
715         ResultTooLarge,
716         Result::LEVEL_USAGE,     Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FRIENDS,
717         Result::DESCRIPTION_TOO_LARGE
718     );
719 
720 
721     /* Please see man pages for details
722 
723 
724 
725 
726     */
727     NN_DEFINE_RESULT_CONST(
728         ResultAlreadyDone,
729         Result::LEVEL_SUCCESS,   Result::SUMMARY_NOTHING_HAPPENED, Result::MODULE_NN_FRIENDS,
730         Result::DESCRIPTION_ALREADY_DONE
731     );
732 
733     /* Please see man pages for details
734 
735 
736 
737     */
738     NN_DEFINE_RESULT_CONST(
739         ResultTemporarilyBusy,
740         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
741         Result::DESCRIPTION_BUSY
742     );
743 
744 
745     /* Please see man pages for details
746 
747 
748     */
749     NN_DEFINE_RESULT_CONST(
750         ResultNotAuthorized,
751         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
752         Result::DESCRIPTION_NOT_AUTHORIZED
753     );
754 
755     /* Please see man pages for details
756 
757 
758     */
759     NN_DEFINE_RESULT_CONST(
760         ResultUnexpectedState,
761         Result::LEVEL_STATUS,    Result::SUMMARY_INVALID_STATE,    Result::MODULE_NN_FRIENDS,
762         Result::DESCRIPTION_NOT_IMPLEMENTED
763     );
764 
765 
766     namespace detail {
MakeResult(Result::Level level,Result::Summary summary,int description)767         inline Result MakeResult(Result::Level level, Result::Summary summary, int description)
768             { return Result(level, summary, Result::MODULE_NN_FRIENDS, description); }
769 
MakeInfoResult(Result::Summary summary,int description)770         inline Result MakeInfoResult(Result::Summary summary, int description)
771             { return Result(Result::LEVEL_INFO, summary, Result::MODULE_NN_FRIENDS, description); }
MakeFatalResult(Result::Summary summary,int description)772         inline Result MakeFatalResult(Result::Summary summary, int description)
773             { return Result(Result::LEVEL_FATAL, summary, Result::MODULE_NN_FRIENDS, description); }
MakeResetResult(Result::Summary summary,int description)774         inline Result MakeResetResult(Result::Summary summary, int description)
775             { return Result(Result::LEVEL_RESET, summary, Result::MODULE_NN_FRIENDS, description); }
MakeReInitResult(Result::Summary summary,int description)776         inline Result MakeReInitResult(Result::Summary summary, int description)
777             { return Result(Result::LEVEL_REINIT, summary, Result::MODULE_NN_FRIENDS, description); }
MakeUsageResult(Result::Summary summary,int description)778         inline Result MakeUsageResult(Result::Summary summary, int description)
779             { return Result(Result::LEVEL_USAGE, summary, Result::MODULE_NN_FRIENDS, description); }
MakePermanentResult(Result::Summary summary,int description)780         inline Result MakePermanentResult(Result::Summary summary, int description)
781             { return Result(Result::LEVEL_PERMANENT, summary, Result::MODULE_NN_FRIENDS, description); }
MakeTemporaryResult(Result::Summary summary,int description)782         inline Result MakeTemporaryResult(Result::Summary summary, int description)
783             { return Result(Result::LEVEL_TEMPORARY, summary, Result::MODULE_NN_FRIENDS, description); }
MakeStatusResult(Result::Summary summary,int description)784         inline Result MakeStatusResult(Result::Summary summary, int description)
785             { return Result(Result::LEVEL_STATUS, summary, Result::MODULE_NN_FRIENDS, description); }
786     }
787 
788 } // end of namespace CTR
789     using namespace CTR;
790 } // end of namespace friends
791 } // end of namespace nn
792 
793 #endif // __cplusplus
794 
795 #endif /* NN_FRIENDS_CTR_FRIENDS_RESULT_H_ */
796