1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     friends_Api.h
4 
5   Copyright (C)2009-2012 Nintendo Co., Ltd.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law. They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Rev: 47424 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_FRIENDS_CTR_FRIENDS_API_H_
17 #define NN_FRIENDS_CTR_FRIENDS_API_H_
18 
19 /* Please see man pages for details
20 
21 */
22 
23 #include <nn/types.h>
24 
25 #include <nn/friends/friends_Result.h>
26 #include <nn/friends/CTR/friends_Types.h>
27 
28 #include <nn/uds/CTR/uds_Type.h>
29 
30 #ifdef __cplusplus
31 
32 namespace nn {
33 namespace friends {
34 namespace CTR {
35 
36     namespace detail
37     {
38         // Library initialization and finalization
39         Result Initialize();
40         Result Finalize();
41 
42         // Check library status
43         bool IsInitialized();
44         bool HasLoggedIn();
45 
46         // Manage connections
47         Result Login( os::Event* pEvent );
48         Result Logout();
49 
50         // Get local system information
51         PrincipalId     GetMyPrincipalId();
52         bool IsMyPreferenceValid();
53         Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName, bool* pIsShowPlayedGame );
54         Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName );
55         Result GetMyProfile( Profile* pProfile );
56         Result GetMyPresence( MyPresence* pMyPresence );
57         Result GetMyScreenName( char16 screenName[SCREEN_NAME_SIZE] );
58         Result GetMyMii( MiiData* pMiiData );
59 
60         // Get friend information
61         Result GetFriendKeyList( FriendKey* pFriendKeyList, size_t* pNum, size_t offset, size_t size );
62         Result GetFriendPresence( FriendPresence* pFriendPresenceList, const FriendKey* pFriendKeyList, size_t size );
63         Result GetFriendPresence( FriendPresence* pFriendPresenceList, const PrincipalId* pPrincipalIdList, size_t size );
64         Result GetFriendScreenName( char16 (*pScreenNameList)[SCREEN_NAME_SIZE], const FriendKey* pFriendKeyList, size_t size, bool replaceForeignCharacters, u8* pFontRegionList );
65         Result GetFriendScreenName( char16 (*pScreenNameList)[SCREEN_NAME_SIZE], const PrincipalId* pPrincipalIdList, size_t size, bool replaceForeignCharacters, u8* pFontRegionList );
66         Result GetFriendMii( MiiData* pMiiDataList, const FriendKey* pFriendKeyList, size_t size );
67         Result GetFriendMii( MiiData* pMiiDataList, const PrincipalId* pPrincipalIdList, size_t size );
68         Result GetFriendProfile( Profile* pProfileList, const FriendKey* pFriendKeyList, size_t size );
69         Result GetFriendProfile( Profile* pProfileList, const PrincipalId* pPrincipalIdList, size_t size );
70         Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const FriendKey* pFriendKeyList, size_t size );
71         Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const PrincipalId* pPrincipalIdList, size_t size );
72         Result UnscrambleLocalFriendCode( LocalFriendCode* pLocalFriendCodeList, const uds::CTR::ScrambledLocalFriendCode* pScrambledLocalFriendCodeList, size_t size );
73 
74         // Update local information
75         Result UpdateGameModeDescription( const char16 description[MODE_DESCRIPTION_SIZE] );
76         Result UpdateGameMode( const GameMode& gameMode, const char16 description[MODE_DESCRIPTION_SIZE] );
77 
78         // Get notification contents
79         Result AttachToEventNotification( nn::os::Event* pEvent );
80         Result SetNotificationMask( bit32 mask );
81         u32 GetEventNotification( EventNotification* pEventNotificationList, size_t size, bool* pHasOverflowed );
82         Result GetLastResponseResult();
83 
84         // Get error code
85         u32 ResultToErrorCode( const Result& result );
86 
87         // Join-in
88         bool IsFromFriendList( FriendKey* pFriendKey );
89 
90         // Friend registration
91         Result GetMyApproachContext( ApproachContext* pApproachContext );
92         Result AddFriendWithApproach( os::Event* pEvent, const ApproachContext& approachContext );
93         Result GetApproachContextScreenName( char16 screenName[SCREEN_NAME_SIZE], const ApproachContext& approachContext, bool replaceForeignCharacters, u8* pFontRegion );
94         Result GetApproachContextMii( MiiData* pMiiData, const ApproachContext& approachContext );
95     }
96 
97     namespace
98     {
99         static const char PORT_NAME_USER[]  = "frd:u";
100     }
101 
102     /*-------------------------------------------------------------------
103     Library initialization/finalization
104     -------------------------------------------------------------------*/
105 
106     /* Please see man pages for details
107 
108 
109 
110 
111 
112 
113     */
114     Result Initialize();
Initialize()115     inline Result Initialize()
116     {
117         return detail::Initialize();
118     }
119 
120     /* Please see man pages for details
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131     */
132     Result Finalize();
Finalize()133     inline Result Finalize()
134     {
135         return detail::Finalize();
136     }
137 
138     /* Please see man pages for details
139 
140 
141 
142 
143 
144 
145     */
146     bool IsInitialized();
IsInitialized()147     inline bool IsInitialized()
148     {
149         return detail::IsInitialized();
150     }
151 
152     /* Please see man pages for details
153 
154 
155 
156 
157 
158 
159 
160 
161 
162     */
163     bool HasLoggedIn();
HasLoggedIn()164     inline bool HasLoggedIn()
165     {
166         return detail::HasLoggedIn();
167     }
168 
169     /* Please see man pages for details
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189 
190 
191 
192 
193     */
194     Result Login( os::Event* pEvent );
Login(os::Event * pEvent)195     inline Result Login( os::Event* pEvent )
196     {
197         return detail::Login( pEvent );
198     }
199 
200     /* Please see man pages for details
201 
202 
203 
204 
205 
206 
207 
208 
209 
210 
211 
212 
213 
214     */
215     Result Logout();
Logout()216     inline Result Logout()
217     {
218         return detail::Logout();
219     }
220 
221     /* Please see man pages for details
222 
223 
224 
225 
226 
227 
228 
229 
230     */
231     PrincipalId GetMyPrincipalId();
GetMyPrincipalId()232     inline PrincipalId GetMyPrincipalId()
233     {
234         return detail::GetMyPrincipalId();
235     }
236 
237     /* Please see man pages for details
238 
239 
240 
241 
242 
243 
244 
245     */
246     bool IsMyPreferenceValid();
IsMyPreferenceValid()247     inline bool IsMyPreferenceValid()
248     {
249         return detail::IsMyPreferenceValid();
250     }
251 
252     /* Please see man pages for details
253 
254 
255 
256 
257 
258 
259 
260 
261 
262 
263 
264 
265 
266 
267 
268 
269     */
270     Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName, bool* pIsShowPlayedGame ) NN_ATTRIBUTE_DEPRECATED;
GetMyPreference(bool * pIsPublicMode,bool * pIsShowGameName,bool * pIsShowPlayedGame)271     inline Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName, bool* pIsShowPlayedGame )
272     {
273         return detail::GetMyPreference( pIsPublicMode, pIsShowGameName, pIsShowPlayedGame );
274     }
275 
276     /* Please see man pages for details
277 
278 
279 
280 
281 
282 
283 
284 
285 
286 
287 
288     */
289     Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName );
GetMyPreference(bool * pIsPublicMode,bool * pIsShowGameName)290     inline Result GetMyPreference( bool* pIsPublicMode, bool* pIsShowGameName )
291     {
292         return detail::GetMyPreference( pIsPublicMode, pIsShowGameName );
293     }
294 
295     /* Please see man pages for details
296 
297 
298 
299 
300 
301 
302 
303 
304 
305 
306     */
307     Result GetMyProfile( Profile* pProfile );
GetMyProfile(Profile * pProfile)308     inline Result GetMyProfile( Profile* pProfile )
309     {
310         return detail::GetMyProfile( pProfile );
311     }
312 
313     /* Please see man pages for details
314 
315 
316 
317 
318 
319 
320 
321 
322 
323 
324     */
325     Result GetMyPresence( MyPresence* pMyPresence );
GetMyPresence(MyPresence * pMyPresence)326     inline Result GetMyPresence( MyPresence* pMyPresence )
327     {
328         return detail::GetMyPresence( pMyPresence );
329     }
330 
331     /* Please see man pages for details
332 
333 
334 
335 
336 
337 
338 
339 
340 
341 
342 
343 
344 
345     */
346     Result GetMyScreenName( char16 screenName[SCREEN_NAME_SIZE] );
GetMyScreenName(char16 screenName[SCREEN_NAME_SIZE])347     inline Result GetMyScreenName( char16 screenName[SCREEN_NAME_SIZE] )
348     {
349         return detail::GetMyScreenName( screenName );
350     }
351 
352     /* Please see man pages for details
353 
354 
355 
356 
357 
358 
359 
360 
361 
362 
363 
364 
365 
366 
367 
368     */
369     Result GetMyMii( MiiData* pMiiData );
GetMyMii(MiiData * pMiiData)370     inline Result GetMyMii( MiiData* pMiiData )
371     {
372         return detail::GetMyMii( pMiiData );
373     }
374 
375     /* Please see man pages for details
376 
377 
378 
379 
380 
381 
382 
383 
384 
385 
386 
387 
388 
389 
390 
391 
392     */
393     Result GetFriendKeyList( FriendKey* pFriendKeyList, size_t* pNum, size_t offset = 0, size_t size = FRIEND_LIST_SIZE );
GetFriendKeyList(FriendKey * pFriendKeyList,size_t * pNum,size_t offset,size_t size)394     inline Result GetFriendKeyList( FriendKey* pFriendKeyList, size_t* pNum, size_t offset, size_t size)
395     {
396         return detail::GetFriendKeyList( pFriendKeyList, pNum, offset, size );
397     }
398 
399     /* Please see man pages for details
400 
401 
402 
403 
404 
405 
406 
407 
408 
409 
410 
411 
412 
413 
414 
415 
416 
417 
418 
419 
420 
421 
422     */
423     Result GetFriendPresence( FriendPresence* pFriendPresenceList, const FriendKey* pFriendKeyList, size_t size = 1 );
GetFriendPresence(FriendPresence * pFriendPresenceList,const FriendKey * pFriendKeyList,size_t size)424     inline Result GetFriendPresence( FriendPresence* pFriendPresenceList, const FriendKey* pFriendKeyList, size_t size)
425     {
426         return detail::GetFriendPresence( pFriendPresenceList, pFriendKeyList, size );
427     }
428 
429     /* Please see man pages for details
430 
431 
432 
433 
434 
435 
436 
437 
438 
439 
440 
441 
442 
443 
444 
445 
446 
447 
448 
449 
450 
451 
452     */
453     Result GetFriendPresence( FriendPresence* pFriendPresenceList, const PrincipalId* pPrincipalIdList, size_t size = 1 );
GetFriendPresence(FriendPresence * pFriendPresenceList,const PrincipalId * pPrincipalIdList,size_t size)454     inline Result GetFriendPresence( FriendPresence* pFriendPresenceList, const PrincipalId* pPrincipalIdList, size_t size)
455     {
456         return detail::GetFriendPresence( pFriendPresenceList, pPrincipalIdList, size );
457     }
458 
459     /* Please see man pages for details
460 
461 
462 
463 
464 
465 
466 
467 
468 
469 
470 
471 
472 
473 
474 
475 
476 
477 
478 
479 
480 
481 
482 
483 
484     */
485     Result GetFriendScreenName(
486         char16           (*pScreenNameList)[SCREEN_NAME_SIZE],
487         const FriendKey* pFriendKeyList,
488         size_t           size = 1,
489         bool             replaceForeignCharacters = true,
490         u8*              pFontRegionList = NULL
491     );
GetFriendScreenName(char16 (* pScreenNameList)[SCREEN_NAME_SIZE],const FriendKey * pFriendKeyList,size_t size,bool replaceForeignCharacters,u8 * pFontRegionList)492     inline Result GetFriendScreenName(
493         char16           (*pScreenNameList)[SCREEN_NAME_SIZE],
494         const FriendKey* pFriendKeyList,
495         size_t           size,
496         bool             replaceForeignCharacters,
497         u8*              pFontRegionList
498     )
499     {
500         return detail::GetFriendScreenName( pScreenNameList, pFriendKeyList, size, replaceForeignCharacters, pFontRegionList );
501     }
502 
503     /* Please see man pages for details
504 
505 
506 
507 
508 
509 
510 
511 
512 
513 
514 
515 
516 
517 
518 
519 
520 
521 
522 
523 
524 
525 
526 
527 
528     */
529     Result GetFriendScreenName(
530         char16             (*pScreenNameList)[SCREEN_NAME_SIZE],
531         const PrincipalId* pPrincipalIdList,
532         size_t             size = 1,
533         bool               replaceForeignCharacters = true,
534         u8*                pFontRegionList = NULL
535     );
GetFriendScreenName(char16 (* pScreenNameList)[SCREEN_NAME_SIZE],const PrincipalId * pPrincipalIdList,size_t size,bool replaceForeignCharacters,u8 * pFontRegionList)536     inline Result GetFriendScreenName(
537         char16             (*pScreenNameList)[SCREEN_NAME_SIZE],
538         const PrincipalId* pPrincipalIdList,
539         size_t             size,
540         bool               replaceForeignCharacters,
541         u8*                pFontRegionList
542     )
543     {
544         return detail::GetFriendScreenName( pScreenNameList, pPrincipalIdList, size, replaceForeignCharacters, pFontRegionList );
545     }
546 
547     /* Please see man pages for details
548 
549 
550 
551 
552 
553 
554 
555 
556 
557 
558 
559 
560 
561 
562 
563 
564 
565 
566     */
567     Result GetFriendMii( MiiData* pMiiDataList, const FriendKey* pFriendKeyList, size_t size = 1 );
GetFriendMii(MiiData * pMiiDataList,const FriendKey * pFriendKeyList,size_t size)568     inline Result GetFriendMii( MiiData* pMiiDataList, const FriendKey* pFriendKeyList, size_t size)
569     {
570         return detail::GetFriendMii( pMiiDataList, pFriendKeyList, size );
571     }
572 
573     /* Please see man pages for details
574 
575 
576 
577 
578 
579 
580 
581 
582 
583 
584 
585 
586 
587 
588 
589 
590 
591 
592     */
593     Result GetFriendMii( MiiData* pMiiDataList, const PrincipalId* pPrincipalIdList, size_t size = 1);
GetFriendMii(MiiData * pMiiDataList,const PrincipalId * pPrincipalIdList,size_t size)594     inline Result GetFriendMii( MiiData* pMiiDataList, const PrincipalId* pPrincipalIdList, size_t size)
595     {
596         return detail::GetFriendMii( pMiiDataList, pPrincipalIdList, size );
597     }
598 
599     /* Please see man pages for details
600 
601 
602 
603 
604 
605 
606 
607 
608 
609 
610 
611 
612 
613 
614 
615 
616 
617 
618 
619 
620     */
621     Result GetFriendProfile( Profile* pProfileList, const FriendKey* pFriendKeyList, size_t size = 1 );
GetFriendProfile(Profile * pProfileList,const FriendKey * pFriendKeyList,size_t size)622     inline Result GetFriendProfile( Profile* pProfileList, const FriendKey* pFriendKeyList, size_t size)
623     {
624         return detail::GetFriendProfile( pProfileList, pFriendKeyList, size );
625     }
626 
627     /* Please see man pages for details
628 
629 
630 
631 
632 
633 
634 
635 
636 
637 
638 
639 
640 
641 
642 
643 
644 
645 
646 
647 
648     */
649     Result GetFriendProfile( Profile* pProfileList, const PrincipalId* pPrincipalIdList, size_t size = 1 );
GetFriendProfile(Profile * pProfileList,const PrincipalId * pPrincipalIdList,size_t size)650     inline Result GetFriendProfile( Profile* pProfileList, const PrincipalId* pPrincipalIdList, size_t size)
651     {
652         return detail::GetFriendProfile( pProfileList, pPrincipalIdList, size );
653     }
654 
655     /* Please see man pages for details
656 
657 
658 
659 
660 
661 
662 
663 
664 
665 
666 
667 
668 
669 
670 
671 
672 
673 
674 
675 
676 
677 
678 
679 
680 
681     */
682     Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const FriendKey* pFriendKeyList, size_t size = 1 );
GetFriendAttributeFlags(bit32 * pAttributeFlagsList,const FriendKey * pFriendKeyList,size_t size)683     inline Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const FriendKey* pFriendKeyList, size_t size)
684     {
685         return detail::GetFriendAttributeFlags( pAttributeFlagsList, pFriendKeyList, size );
686     }
687 
688     /* Please see man pages for details
689 
690 
691 
692 
693 
694 
695 
696 
697 
698 
699 
700 
701 
702 
703 
704 
705 
706 
707 
708 
709 
710 
711 
712 
713 
714     */
715     Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const PrincipalId* pPrincipalIdList, size_t size = 1 );
GetFriendAttributeFlags(bit32 * pAttributeFlagsList,const PrincipalId * pPrincipalIdList,size_t size)716     inline Result GetFriendAttributeFlags( bit32* pAttributeFlagsList, const PrincipalId* pPrincipalIdList, size_t size)
717     {
718         return detail::GetFriendAttributeFlags( pAttributeFlagsList, pPrincipalIdList, size );
719     }
720 
721     /* Please see man pages for details
722 
723 
724 
725 
726 
727 
728 
729 
730 
731 
732 
733 
734 
735 
736 
737 
738     */
739     Result UnscrambleLocalFriendCode( LocalFriendCode* pLocalFriendCodeList, const uds::CTR::ScrambledLocalFriendCode* pScrambledLocalFriendCodeList, size_t size = 1);
UnscrambleLocalFriendCode(LocalFriendCode * pLocalFriendCodeList,const uds::CTR::ScrambledLocalFriendCode * pScrambledLocalFriendCodeList,size_t size)740     inline Result UnscrambleLocalFriendCode( LocalFriendCode* pLocalFriendCodeList, const uds::CTR::ScrambledLocalFriendCode* pScrambledLocalFriendCodeList, size_t size )
741     {
742         return detail::UnscrambleLocalFriendCode( pLocalFriendCodeList, pScrambledLocalFriendCodeList, size );
743     }
744 
745     /* Please see man pages for details
746 
747 
748 
749 
750 
751 
752 
753 
754 
755 
756 
757 
758 
759 
760 
761 
762 
763 
764 
765 
766 
767 
768 
769 
770 
771 
772 
773 
774 
775 
776 
777 
778 
779 
780     */
781     Result UpdateGameModeDescription( const char16 description[MODE_DESCRIPTION_SIZE] );
UpdateGameModeDescription(const char16 description[MODE_DESCRIPTION_SIZE])782     inline Result UpdateGameModeDescription( const char16 description[MODE_DESCRIPTION_SIZE] )
783     {
784         return detail::UpdateGameModeDescription( description );
785     }
786 
787     /* Please see man pages for details
788 
789 
790 
791 
792 
793 
794 
795 
796 
797 
798 
799 
800 
801 
802 
803 
804 
805 
806 
807 
808 
809 
810 
811 
812 
813 
814 
815 
816 
817 
818 
819 
820 
821 
822 
823 
824     */
825     Result UpdateGameMode( const GameMode& gameMode, const char16 description[MODE_DESCRIPTION_SIZE] );
UpdateGameMode(const GameMode & gameMode,const char16 description[MODE_DESCRIPTION_SIZE])826     inline Result UpdateGameMode( const GameMode& gameMode, const char16 description[MODE_DESCRIPTION_SIZE] )
827     {
828         return detail::UpdateGameMode( gameMode, description );
829     }
830 
831 
832     /* Please see man pages for details
833 
834 
835 
836 
837 
838 
839 
840 
841 
842 
843 
844 
845 
846     */
847     Result AttachToEventNotification( nn::os::Event* pEvent );
AttachToEventNotification(nn::os::Event * pEvent)848     inline Result AttachToEventNotification( nn::os::Event* pEvent )
849     {
850         return detail::AttachToEventNotification( pEvent );
851     }
852 
853     /* Please see man pages for details
854 
855 
856 
857 
858 
859 
860 
861 
862 
863 
864 
865 
866 
867 
868     */
869     Result SetNotificationMask( bit32 mask );
SetNotificationMask(bit32 mask)870     inline Result SetNotificationMask( bit32 mask )
871     {
872         return detail::SetNotificationMask( mask );
873     }
874 
875     /* Please see man pages for details
876 
877 
878 
879 
880 
881 
882 
883 
884 
885 
886 
887 
888 
889 
890     */
891     u32 GetEventNotification(
892         EventNotification* pEventNotificationList,
893         size_t             size = 1,
894         bool*              pHasOverflowed = NULL
895     );
GetEventNotification(EventNotification * pEventNotificationList,size_t size,bool * pHasOverflowed)896     inline u32 GetEventNotification(
897         EventNotification* pEventNotificationList,
898         size_t             size,
899         bool*              pHasOverflowed
900     )
901     {
902         return detail::GetEventNotification( pEventNotificationList, size, pHasOverflowed );
903     }
904 
905     /* Please see man pages for details
906 
907 
908 
909 
910 
911 
912 
913 
914 
915 
916 
917     */
918     Result GetLastResponseResult();
GetLastResponseResult()919     inline Result GetLastResponseResult()
920     {
921         return detail::GetLastResponseResult();
922     }
923 
924     /* Please see man pages for details
925 
926 
927 
928 
929 
930 
931 
932 
933 
934 
935     */
936     u32 ResultToErrorCode( const Result& result );
ResultToErrorCode(const Result & result)937     inline u32 ResultToErrorCode( const Result& result )
938     {
939         return detail::ResultToErrorCode( result );
940     }
941 
942 
943     /* Please see man pages for details
944 
945 
946 
947 
948 
949 
950 
951 
952 
953 
954     */
955     bool IsFromFriendList( FriendKey* pFriendKey );
IsFromFriendList(FriendKey * pFriendKey)956     inline bool IsFromFriendList( FriendKey* pFriendKey )
957     {
958         return detail::IsFromFriendList( pFriendKey );
959     }
960 
961 
962     /* Please see man pages for details
963 
964 
965 
966 
967 
968 
969 
970 
971 
972 
973 
974 
975 
976 
977 
978 
979 
980 
981     */
982     Result GetMyApproachContext( ApproachContext* pApproachContext );
GetMyApproachContext(ApproachContext * pApproachContext)983     inline Result GetMyApproachContext( ApproachContext* pApproachContext )
984     {
985         return detail::GetMyApproachContext( pApproachContext );
986     }
987 
988     /* Please see man pages for details
989 
990 
991 
992 
993 
994 
995 
996 
997 
998 
999 
1000 
1001 
1002 
1003 
1004 
1005 
1006 
1007 
1008 
1009 
1010 
1011 
1012 
1013 
1014 
1015 
1016 
1017 
1018 
1019 
1020     */
1021     Result AddFriendWithApproach( os::Event* pEvent, const ApproachContext& approachContext );
AddFriendWithApproach(os::Event * pEvent,const ApproachContext & approachContext)1022     inline Result AddFriendWithApproach( os::Event* pEvent, const ApproachContext& approachContext )
1023     {
1024         return detail::AddFriendWithApproach( pEvent, approachContext );
1025     }
1026 
1027     /* Please see man pages for details
1028 
1029 
1030 
1031 
1032 
1033 
1034 
1035 
1036 
1037 
1038 
1039 
1040 
1041 
1042     */
1043     Result GetApproachContextScreenName(
1044         char16                  screenName[SCREEN_NAME_SIZE],
1045         const ApproachContext&  approachContext,
1046         bool                    replaceForeignCharacters = true,
1047         u8*                     pFontRegion = NULL
1048     );
GetApproachContextScreenName(char16 screenName[SCREEN_NAME_SIZE],const ApproachContext & approachContext,bool replaceForeignCharacters,u8 * pFontRegion)1049     inline Result GetApproachContextScreenName(
1050         char16                  screenName[SCREEN_NAME_SIZE],
1051         const ApproachContext&  approachContext,
1052         bool                    replaceForeignCharacters,
1053         u8*                     pFontRegion
1054     )
1055     {
1056         return detail::GetApproachContextScreenName( screenName, approachContext, replaceForeignCharacters, pFontRegion );
1057     }
1058 
1059     /* Please see man pages for details
1060 
1061 
1062 
1063 
1064 
1065 
1066 
1067 
1068 
1069 
1070 
1071 
1072     */
1073     Result GetApproachContextMii( MiiData* pMiiData, const ApproachContext& approachContext );
GetApproachContextMii(MiiData * pMiiData,const ApproachContext & approachContext)1074     inline Result GetApproachContextMii( MiiData* pMiiData, const ApproachContext& approachContext )
1075     {
1076         return detail::GetApproachContextMii( pMiiData, approachContext );
1077 
1078     }
1079 
1080 } // end of namespace CTR
1081 } // end of namespace friends
1082 } // end of namespace nn
1083 
1084 #endif // __cplusplus
1085 
1086 // Below is the C declaration
1087 
1088 #include <nn/util/detail/util_CLibImpl.h>
1089 
1090 /* Please see man pages for details
1091 
1092 
1093 
1094 */
1095 
1096 
1097 
1098 /*
1099 
1100 */
1101 
1102 #endif  // ifndef NN_FRIENDS_CTR_FRIENDS_API_H_
1103