1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     http_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: 31762 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_HTTP_HTTP_RESULT_H_
17 #define NN_HTTP_HTTP_RESULT_H_
18 
19 
20 #include <nn/Result.h>
21 #include <nn/net/compatible/nhttp.h>
22 
23 //Macro to convert NHTTP library Result code to HTTP ResultCode.
24 #define CHANGE_NHTTP_RESULT_CODE_MASK 0x000003ff
25 #define CHANGE_NHTTP_RESULT_CODE(nhttpCode) \
26     (nhttpCode) & (CHANGE_NHTTP_RESULT_CODE_MASK)
27 
28 
29 /* Please see man pages for details
30 
31 
32 */
33 
34 /* Please see man pages for details
35 
36 */
37 enum nnHttpResultCode
38 {
39     /* general use*/
40     NN_HTTP_ER_NONE                     = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_NONE),                                //
41     NN_HTTP_ER_INVALID_STATUS           = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_INVALID_STATUS),                      //
42     NN_HTTP_ER_INVALID_PARAM            = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_INVALID_PARAM),                       //
43     NN_HTTP_ER_NOMEM                    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_NOMEM),                               //
44     NN_HTTP_ER_CREATE_EVENT             = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CREATE_EVENT),                        //
45     NN_HTTP_ER_CREATE_MUTEX             = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CREATE_MUTEX),                        //
46     NN_HTTP_ER_CREATE_QUEUE             = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CREATE_QUEUE),                        //
47     NN_HTTP_ER_CREATE_THREAD            = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CREATE_THREAD),                       //
48     NN_HTTP_ER_CONNECTION_NOT_INITIALIZED          = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(100)),                //
49     NN_HTTP_ER_ALREADY_ASSIGN_HOST      = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(101)),                           //
50     NN_HTTP_ER_SESSION                  = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(102)),                           //
51     NN_HTTP_ER_CLIENT_PROCESS_MAX       = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(103)),                           //
52     NN_HTTP_ER_IPC_SESSION_MAX          = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(104)),                           //
53     NN_HTTP_ER_TIMEOUT                  = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(105)),                           //
54 
55     /* Library processing related */
56     NN_HTTP_ER_ALREADY_INITIALIZED      = nn::Result::DESCRIPTION_ALREADY_INITIALIZED,  //
57     NN_HTTP_ER_NOT_INITIALIZED          = nn::Result::DESCRIPTION_NOT_INITIALIZED,      //
58 
59     /* Message queue related */
60     NN_HTTP_ER_MSGQ_SEND_LSN    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_MSGQ_SEND_LSN),         //
61     NN_HTTP_ER_MSGQ_RECV_LSN    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_MSGQ_RECV_LSN),         //
62     NN_HTTP_ER_MSGQ_RECV_COMM   = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_MSGQ_RECV_COMM),        //
63 
64     /* Connection handle related */
65     NN_HTTP_ER_CONN_NOMORE      = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_NOMORE),         //
66     NN_HTTP_ER_CONN_NOSUCH      = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_NOSUCH),         //
67     NN_HTTP_ER_CONN_STATUS      = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_STATUS),         //
68     NN_HTTP_ER_CONN_ADD         = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_ADD),            //
69     NN_HTTP_ER_CONN_CANCELED    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_CANCELED),       //
70     NN_HTTP_ER_CONN_HOST_MAX    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CONN_HOST_MAX),       //
71     NN_HTTP_ER_CONN_PROCESS_MAX = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(26)),            //
72 
73     /* Request related */
74     NN_HTTP_ER_REQ_URL              = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_REQ_URL),             //
75     NN_HTTP_ER_REQ_CONNMSG_PORT     = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_REQ_CONNMSG_PORT),    //
76     NN_HTTP_ER_REQ_UNKNOWN_METHOD   = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_REQ_UNKNOWN_METHOD),  //
77 
78     /* Response related */
79     NN_HTTP_ER_RES_HEADER           = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_RES_HEADER),          //
80     NN_HTTP_ER_RES_NONEWLINE        = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_RES_NONEWLINE),       //
81     NN_HTTP_ER_RES_BODYBUF          = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_RES_BODYBUF),         //
82     NN_HTTP_ER_RES_BODYBUF_SHORTAGE = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(43)),            //
83 
84     /* POST related */
85     NN_HTTP_ER_POST_ADDED_ANOTHER   = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_POST_ADDED_ANOTHER),  //
86     NN_HTTP_ER_POST_BOUNDARY        = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_POST_BOUNDARY),       //
87     NN_HTTP_ER_POST_SEND            = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_POST_SEND),           //
88     NN_HTTP_ER_POST_UNKNOWN_ENCTYPE = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_POST_UNKNOWN_ENCTYPE),//
89     NN_HTTP_ER_POST_NODATA          = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_POST_NODATA),         //
90 
91     /* SSL-related */
92     NN_HTTP_ER_SSL                   = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SSL),                  //
93     NN_HTTP_ER_SSL_CERT_EXIST        = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SSL_CERT_EXIST),       //
94     NN_HTTP_ER_SSL_NO_CA_CERT_STORE  = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(200)),            //
95     NN_HTTP_ER_SSL_NO_CLIENT_CERT    = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(201)),            //
96     NN_HTTP_ER_SSL_CA_CERT_STORE_MAX = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(202)),            //
97     NN_HTTP_ER_SSL_CLIENT_CERT_MAX   = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(203)),            //
98     NN_HTTP_ER_SSL_FAIL_TO_CREATE_CERT_STORE = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(204)),    //
99     NN_HTTP_ER_SSL_FAIL_TO_CREATE_CLIENT_CERT = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_CODE(205)),   //
100 
101     /* Socket related */
102     NN_HTTP_ER_SOC_DNS  = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SOC_DNS),             //
103     NN_HTTP_ER_SOC_SEND = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SOC_SEND),            //
104     NN_HTTP_ER_SOC_RECV = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SOC_RECV),            //
105     NN_HTTP_ER_SOC_CONN = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SOC_CONN),            //
106     NN_HTTP_ER_SOC_KEEPALIVE_DISCONNECTED = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_SOC_KEEPALIVE_DISCONNECTED), //
107 
108     /* Proxy related */
109     NN_HTTP_ER_GET_PROXY_SETTING = CHANGE_NHTTP_RESULT_CODE(NHTTP_ER_GET_DEFAULT_PROXY)                   //
110 };
111 
112 /*
113 
114 */
115 
116 #ifdef __cplusplus
117 
118 
119 namespace nn {
120 namespace http {
121     /* Please see man pages for details
122 
123 
124     */
125     enum ResultCode
126     {
127         /* general use*/
128         ER_NONE                 = NN_HTTP_ER_NONE,                   //
129         ER_INVALID_STATUS       = NN_HTTP_ER_INVALID_STATUS,         //
130         ER_INVALID_PARAM        = NN_HTTP_ER_INVALID_PARAM,          //
131         ER_NOMEM                = NN_HTTP_ER_NOMEM,                  //
132         ER_CREATE_EVENT         = NN_HTTP_ER_CREATE_EVENT,           //
133         ER_CREATE_MUTEX         = NN_HTTP_ER_CREATE_MUTEX,           //
134         ER_CREATE_QUEUE         = NN_HTTP_ER_CREATE_QUEUE,           //
135         ER_CREATE_THREAD        = NN_HTTP_ER_CREATE_THREAD,          //
136         ER_CONNECTION_NOT_INITIALIZED      = NN_HTTP_ER_CONNECTION_NOT_INITIALIZED,        //
137         ER_ALREADY_ASSIGN_HOST  = NN_HTTP_ER_ALREADY_ASSIGN_HOST,    //
138         ER_SESSION              = NN_HTTP_ER_SESSION,                //
139         ER_CLIENT_PROCESS_MAX   = NN_HTTP_ER_CLIENT_PROCESS_MAX,     //
140         ER_IPC_SESSION_MAX      = NN_HTTP_ER_IPC_SESSION_MAX ,       //
141         ER_TIMEOUT              = NN_HTTP_ER_TIMEOUT,                //
142 
143         /* Library processing related */
144         ER_ALREADY_INITIALIZED  = NN_HTTP_ER_ALREADY_INITIALIZED,    //
145         ER_NOT_INITIALIZED      = NN_HTTP_ER_NOT_INITIALIZED,        //
146 
147         /* Message queue related */
148         ER_MSGQ_SEND_LSN        = NN_HTTP_ER_MSGQ_SEND_LSN,          //
149         ER_MSGQ_RECV_LSN        = NN_HTTP_ER_MSGQ_RECV_LSN,          //
150         ER_MSGQ_RECV_COMM       = NN_HTTP_ER_MSGQ_RECV_COMM,         //
151 
152         /* Connection handle related */
153         ER_CONN_NOMORE          = NN_HTTP_ER_CONN_NOMORE,            //
154         ER_CONN_NOSUCH          = NN_HTTP_ER_CONN_NOSUCH,            //
155         ER_CONN_STATUS          = NN_HTTP_ER_CONN_STATUS,            //
156         ER_CONN_ADD             = NN_HTTP_ER_CONN_ADD,               //
157         ER_CONN_CANCELED        = NN_HTTP_ER_CONN_CANCELED,          //
158         ER_CONN_HOST_MAX        = NN_HTTP_ER_CONN_HOST_MAX,          //
159         ER_CONN_PROCESS_MAX     = NN_HTTP_ER_CONN_PROCESS_MAX,       //
160 
161         /* Request related */
162         ER_REQ_URL              = NN_HTTP_ER_REQ_URL,                //
163         ER_REQ_CONNMSG_PORT     = NN_HTTP_ER_REQ_CONNMSG_PORT,       //
164         ER_REQ_UNKNOWN_METHOD   = NN_HTTP_ER_REQ_UNKNOWN_METHOD,     //
165 
166         /* Response related */
167         ER_RES_HEADER           = NN_HTTP_ER_RES_HEADER,             //
168         ER_RES_NONEWLINE        = NN_HTTP_ER_RES_NONEWLINE,          //
169         ER_RES_BODYBUF          = NN_HTTP_ER_RES_BODYBUF,            //
170         ER_RES_BODYBUF_SHORTAGE = NN_HTTP_ER_RES_BODYBUF_SHORTAGE,   //
171 
172         /* POST related */
173         ER_POST_ADDED_ANOTHER   = NN_HTTP_ER_POST_ADDED_ANOTHER,     //
174         ER_POST_BOUNDARY        = NN_HTTP_ER_POST_BOUNDARY,          //
175         ER_POST_SEND            = NN_HTTP_ER_POST_SEND,              //
176         ER_POST_UNKNOWN_ENCTYPE = NN_HTTP_ER_POST_UNKNOWN_ENCTYPE,   //
177         ER_POST_NODATA          = NN_HTTP_ER_POST_NODATA,            //
178 
179         /* SSL-related */
180         ER_SSL                   = NN_HTTP_ER_SSL,                    //
181         ER_SSL_CERT_EXIST        = NN_HTTP_ER_SSL_CERT_EXIST,         //
182         ER_SSL_NO_CA_CERT_STORE  = NN_HTTP_ER_SSL_NO_CA_CERT_STORE,   //
183         ER_SSL_NO_CLIENT_CERT    = NN_HTTP_ER_SSL_NO_CLIENT_CERT,     //
184         ER_SSL_CA_CERT_STORE_MAX = NN_HTTP_ER_SSL_CA_CERT_STORE_MAX,  //
185         ER_SSL_CLIENT_CERT_MAX   = NN_HTTP_ER_SSL_CLIENT_CERT_MAX,    //
186         ER_SSL_FAIL_TO_CREATE_CERT_STORE = NN_HTTP_ER_SSL_FAIL_TO_CREATE_CERT_STORE,   //
187         ER_SSL_FAIL_TO_CREATE_CLIENT_CERT = NN_HTTP_ER_SSL_FAIL_TO_CREATE_CLIENT_CERT, //
188 
189         /* Socket related */
190         ER_SOC_DNS              = NN_HTTP_ER_SOC_DNS,                //
191         ER_SOC_SEND             = NN_HTTP_ER_SOC_SEND,               //
192         ER_SOC_RECV             = NN_HTTP_ER_SOC_RECV,               //
193         ER_SOC_CONN             = NN_HTTP_ER_SOC_CONN,               //
194         ER_SOC_KEEPALIVE_DISCONNECTED = NN_HTTP_ER_SOC_KEEPALIVE_DISCONNECTED, //
195 
196         /* Proxy related*/
197         ER_GET_PROXY_SETTING    = NN_HTTP_ER_GET_PROXY_SETTING                   //
198 
199     };
200 
201     namespace detail {
202         /* Please see man pages for details
203 
204 
205 
206 
207         */
208         NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_HTTP);
209 
210 
211         /* Please see man pages for details
212 
213 
214 
215         */
ChangeNetHttpRetCodeToResult(ResultCode returnCode)216         inline Result ChangeNetHttpRetCodeToResult(ResultCode returnCode)
217         {
218             if(returnCode == ER_NONE)
219             {
220                 return ResultSuccess();
221             }
222             else if(returnCode == ER_INVALID_PARAM)
223             {
224                 return MakePermanentResult(Result::SUMMARY_INVALID_ARGUMENT, returnCode);
225             }
226             else
227             {
228                 return MakePermanentResult(Result::SUMMARY_INVALID_STATE, returnCode);
229             }
230         }
231 
232         /* Please see man pages for details
233 
234 
235 
236         */
ChangeNetHttpRetCodeToResult(s32 returnCode)237         inline Result ChangeNetHttpRetCodeToResult(s32 returnCode)
238         {
239             return ChangeNetHttpRetCodeToResult(static_cast<ResultCode>(CHANGE_NHTTP_RESULT_CODE(returnCode)));
240         }
241     }
242 
243     /* Please see man pages for details
244 
245 
246 
247     */
248     NN_DEFINE_RESULT_CONST_LM(
249         ResultInvalidStatusErr,
250         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_INVALID_STATUS
251     );
252 
253 
254     /* Please see man pages for details
255 
256 
257 
258     */
259     NN_DEFINE_RESULT_CONST_LM(
260         ResultInvalidParamErr,
261         detail::MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, ER_INVALID_PARAM
262     );
263 
264     /* Please see man pages for details
265 
266 
267 
268     */
269     NN_DEFINE_RESULT_CONST_LM(
270         ResultOutOfMemoryErr,
271         detail::MakePermanentResult, Result::SUMMARY_OUT_OF_RESOURCE, ER_NOMEM
272     );
273 
274     /* Please see man pages for details
275 
276 
277 
278     */
279     NN_DEFINE_RESULT_CONST_LM(
280         ResultCreateEventErr,
281         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CREATE_EVENT
282     );
283 
284     /* Please see man pages for details
285 
286 
287 
288     */
289     NN_DEFINE_RESULT_CONST_LM(
290         ResultCreateMutexErr,
291         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CREATE_MUTEX
292     );
293 
294     /* Please see man pages for details
295 
296 
297 
298     */
299     NN_DEFINE_RESULT_CONST_LM(
300         ResultCreateQueueErr,
301         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CREATE_QUEUE
302     );
303 
304     /* Please see man pages for details
305 
306 
307 
308     */
309     NN_DEFINE_RESULT_CONST_LM(
310         ResultCreateThreadErr,
311         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CREATE_THREAD
312     );
313 
314     /* Please see man pages for details
315 
316 
317 
318     */
319     NN_DEFINE_RESULT_CONST_LM(
320         ResultNotConnectedErr,
321         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONNECTION_NOT_INITIALIZED
322     );
323 
324     /* Please see man pages for details
325 
326 
327 
328     */
329     NN_DEFINE_RESULT_CONST_LM(
330         ResultAlreadyAssignHostErr,
331         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_ALREADY_ASSIGN_HOST
332     );
333 
334     /* Please see man pages for details
335 
336 
337 
338     */
339     NN_DEFINE_RESULT_CONST_LM(
340         ResultSessionErr,
341         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SESSION
342     );
343 
344     /* Please see man pages for details
345 
346 
347 
348     */
349     NN_DEFINE_RESULT_CONST_LM(
350         ResultClientProcessMaxErr,
351         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CLIENT_PROCESS_MAX
352     );
353 
354     /* Please see man pages for details
355 
356 
357 
358     */
359     NN_DEFINE_RESULT_CONST_LM(
360         ResultIpcSessionMaxErr,
361         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_IPC_SESSION_MAX
362     );
363 
364     /* Please see man pages for details
365 
366 
367 
368     */
369     NN_DEFINE_RESULT_CONST_LM(
370         ResultAlreadyInitializedErr,
371         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_ALREADY_INITIALIZED
372     );
373 
374     /* Please see man pages for details
375 
376 
377 
378     */
379     NN_DEFINE_RESULT_CONST_LM(
380         ResultNotInitializedErr,
381         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_NOT_INITIALIZED
382     );
383 
384     /* Please see man pages for details
385 
386 
387 
388     */
389     NN_DEFINE_RESULT_CONST_LM(
390         ResultMessageSendToListenThreadErr,
391         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_MSGQ_SEND_LSN
392     );
393 
394     /* Please see man pages for details
395 
396 
397 
398     */
399     NN_DEFINE_RESULT_CONST_LM(
400         ResultMessageRecvInListenThreadErr,
401         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_MSGQ_RECV_LSN
402     );
403 
404     /* Please see man pages for details
405 
406 
407 
408     */
409     NN_DEFINE_RESULT_CONST_LM(
410         ResultMessageRecvInCommunicationThreadErr,
411         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_MSGQ_RECV_COMM
412     );
413 
414     /* Please see man pages for details
415 
416 
417 
418     */
419     NN_DEFINE_RESULT_CONST_LM(
420         ResultConnectionNoMoreErr,
421         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_NOMORE
422     );
423 
424     /* Please see man pages for details
425 
426 
427 
428     */
429     NN_DEFINE_RESULT_CONST_LM(
430         ResultNoSuchConnectionErr,
431         detail::MakePermanentResult, Result::SUMMARY_NOT_FOUND, ER_CONN_NOSUCH
432     );
433 
434     /* Please see man pages for details
435 
436 
437 
438     */
439     NN_DEFINE_RESULT_CONST_LM(
440         ResultConnectionStatusErr,
441         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_STATUS
442     );
443 
444     /* Please see man pages for details
445 
446 
447 
448     */
449     NN_DEFINE_RESULT_CONST_LM(
450         ResultConnectionAddErr,
451         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_ADD
452     );
453 
454     /* Please see man pages for details
455 
456 
457 
458     */
459     NN_DEFINE_RESULT_CONST_LM(
460         ResultConnectionCanceledErr,
461         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_CANCELED
462     );
463 
464     /* Please see man pages for details
465 
466 
467 
468     */
469     NN_DEFINE_RESULT_CONST_LM(
470         ResultConnectionHostMaxErr,
471         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_HOST_MAX
472     );
473 
474     /* Please see man pages for details
475 
476 
477 
478     */
479     NN_DEFINE_RESULT_CONST_LM(
480         ResultConnectionProcessMaxErr,
481         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_CONN_PROCESS_MAX
482     );
483 
484     /* Please see man pages for details
485 
486 
487 
488     */
489     NN_DEFINE_RESULT_CONST_LM(
490         ResultRequestUrlErr,
491         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_REQ_URL
492     );
493 
494     /* Please see man pages for details
495 
496 
497 
498     */
499     NN_DEFINE_RESULT_CONST_LM(
500         ResultRequestPortErr,
501         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_REQ_CONNMSG_PORT
502     );
503 
504     /* Please see man pages for details
505 
506 
507 
508     */
509     NN_DEFINE_RESULT_CONST_LM(
510         ResultRequestUnknownMethodErr,
511         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_REQ_UNKNOWN_METHOD
512     );
513 
514 
515     /* Please see man pages for details
516 
517 
518 
519     */
520     NN_DEFINE_RESULT_CONST_LM(
521         ResultRequestHeaderErr,
522         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_RES_HEADER
523     );
524 
525     /* Please see man pages for details
526 
527 
528 
529     */
530     NN_DEFINE_RESULT_CONST_LM(
531         ResultRequestNoNewLineErr,
532         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_RES_NONEWLINE
533     );
534 
535     /* Please see man pages for details
536 
537 
538 
539     */
540     NN_DEFINE_RESULT_CONST_LM(
541         ResultBodyBufErr,
542         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_RES_BODYBUF
543     );
544 
545     /* Please see man pages for details
546 
547 
548 
549     */
550     NN_DEFINE_RESULT_CONST_LM(
551         ResultBodyBufShortage,
552         detail::MakePermanentResult, Result::SUMMARY_WOULD_BLOCK, ER_RES_BODYBUF_SHORTAGE
553     );
554 
555     /* Please see man pages for details
556 
557 
558 
559     */
560     NN_DEFINE_RESULT_CONST_LM(
561         ResultPostAddedAnotherErr,
562         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_POST_ADDED_ANOTHER
563     );
564 
565     /* Please see man pages for details
566 
567 
568 
569     */
570     NN_DEFINE_RESULT_CONST_LM(
571         ResultPostBoundaryErr,
572         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_POST_BOUNDARY
573     );
574 
575     /* Please see man pages for details
576 
577 
578 
579     */
580     NN_DEFINE_RESULT_CONST_LM(
581         ResultPostSendErr,
582         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_POST_SEND
583     );
584 
585     /* Please see man pages for details
586 
587 
588 
589     */
590     NN_DEFINE_RESULT_CONST_LM(
591         ResultPostUnknownEnctypeErr,
592         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_POST_UNKNOWN_ENCTYPE
593     );
594 
595     /* Please see man pages for details
596 
597 
598 
599     */
600     NN_DEFINE_RESULT_CONST_LM(
601         ResultPostNoDataErr,
602         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_POST_NODATA
603     );
604 
605 
606     /* Please see man pages for details
607 
608 
609 
610     */
611     NN_DEFINE_RESULT_CONST_LM(
612         ResultSslErr,
613         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL
614     );
615 
616     /* Please see man pages for details
617 
618 
619 
620     */
621     NN_DEFINE_RESULT_CONST_LM(
622         ResultCertExistErr,
623         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_CERT_EXIST
624     );
625 
626     /* Please see man pages for details
627 
628 
629 
630     */
631     NN_DEFINE_RESULT_CONST_LM(
632         ResultNoCaCertStoreErr,
633         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_NO_CA_CERT_STORE
634     );
635 
636     /* Please see man pages for details
637 
638 
639 
640     */
641     NN_DEFINE_RESULT_CONST_LM(
642         ResultNoClientCertErr,
643         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_NO_CLIENT_CERT
644     );
645 
646     /* Please see man pages for details
647 
648 
649 
650     */
651     NN_DEFINE_RESULT_CONST_LM(
652         ResultCaCertStoreMaxErr,
653         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_CA_CERT_STORE_MAX
654     );
655 
656     /* Please see man pages for details
657 
658 
659 
660     */
661     NN_DEFINE_RESULT_CONST_LM(
662         ResultClientCertMaxErr,
663         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_CLIENT_CERT_MAX
664     );
665 
666     /* Please see man pages for details
667 
668 
669 
670     */
671     NN_DEFINE_RESULT_CONST_LM(
672         ResultFailToCreateCertStoreErr,
673         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_FAIL_TO_CREATE_CERT_STORE
674     );
675 
676     /* Please see man pages for details
677 
678 
679 
680     */
681     NN_DEFINE_RESULT_CONST_LM(
682         ResultFailToCreateClientCertErr,
683         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SSL_FAIL_TO_CREATE_CLIENT_CERT
684     );
685 
686     /* Please see man pages for details
687 
688 
689 
690     */
691     NN_DEFINE_RESULT_CONST_LM(
692         ResultDnsResolutionErr,
693         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SOC_DNS
694     );
695 
696     /* Please see man pages for details
697 
698 
699 
700     */
701     NN_DEFINE_RESULT_CONST_LM(
702         ResultSocketSendErr,
703         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SOC_SEND
704     );
705 
706     /* Please see man pages for details
707 
708 
709 
710     */
711     NN_DEFINE_RESULT_CONST_LM(
712         ResultSocketReceiveErr,
713         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SOC_RECV
714     );
715 
716     /* Please see man pages for details
717 
718 
719 
720     */
721     NN_DEFINE_RESULT_CONST_LM(
722         ResultSocketConnectErr,
723         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SOC_CONN
724     );
725 
726     /* Please see man pages for details
727 
728 
729 
730     */
731     NN_DEFINE_RESULT_CONST_LM(
732         ResultGetProxySettingErr,
733         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_GET_PROXY_SETTING
734     );
735 
736     /* Please see man pages for details
737 
738 
739 
740     */
741     NN_DEFINE_RESULT_CONST_LM(
742         ResultNotImplementedErr,
743         detail::MakePermanentResult, Result::SUMMARY_INTERNAL, nn::Result::DESCRIPTION_NOT_IMPLEMENTED
744     );
745 
746     /* Please see man pages for details
747 
748 
749 
750     */
751     NN_DEFINE_RESULT_CONST_LM(
752         ResultTimeout,
753         detail::MakePermanentResult, Result::SUMMARY_NOTHING_HAPPENED, ER_TIMEOUT
754     );
755 
756     /* Please see man pages for details
757 
758 
759 
760     */
761     NN_DEFINE_RESULT_CONST_LM(
762         ResultSocketKeepAliveDisconnected,
763         detail::MakePermanentResult, Result::SUMMARY_INVALID_STATE, ER_SOC_KEEPALIVE_DISCONNECTED
764     );
765 }
766 }
767 
768 #endif // __cplusplus
769 
770 
771 
772 
773 
774 #endif /* NN_NHTTP_NHTTP_RESULT_H_ */
775