1<!DOCTYPE html>
2<HTML LANG="ja">
3
4<HEAD>
5    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
6    <META http-equiv="Content-Style-Type" content="text/css">
7    <META http-equiv="X-UA-Compatible" content="IE=8" >
8
9    <TITLE>ID List</TITLE>
10
11    <STYLE>
12        h1.left
13        {
14            color: #46f;
15            font-size: 120%;
16        }
17        ul.left, ul.left ul
18        {
19            margin: 0;
20            padding: 0;
21        }
22        ul.left li
23        {
24            margin: 0;
25            padding: 0;
26            margin-left: 1em;
27        }
28        H1
29        {
30            font-weight         : bold;
31            font-size           : 250%;
32            text-align          : left;
33            color               : #46f;
34            margin-bottom       : 0px;
35        }
36
37        H2
38        {
39            font-weight         : normal;
40            font-size           : 180%;
41            margin              : 24pt 0pt 6pt 0pt;
42            border-bottom-style : solid;
43            border-bottom-width : 1px;
44        }
45
46        H3
47        {
48            font-weight         : bold;
49            font-size           : 120%;
50            border-bottom-style : solid;
51            border-bottom-width : 1px;
52            width: 75%;
53            margin              : 18pt 0pt 6pt 30pt;
54        }
55
56        H4
57        {
58            font-weight         : bold;
59            font-size           : 100%;
60            margin              : 12pt 0pt 6pt 30pt;
61        }
62
63        H5
64        {
65            font-weight         : bold;
66            margin              : 12pt 0pt 6pt 30pt;
67        }
68
69        H6
70        {
71            font-weight         : bold;
72            margin              : 12pt 0pt 6pt 30pt;
73        }
74
75        DIV.date
76        {
77            text-align          : right;
78            color               : #46f;
79            margin-bottom       : 30pt;
80            line-height         : 150%;
81        }
82
83        P
84        {
85            margin              : 0pt 0pt 12pt 30pt;
86            line-height         : 150%;
87        }
88
89        DL
90        {
91            margin              : 6pt 0pt 6pt 50pt;
92        }
93        OL, UL
94        {
95            margin              : 6pt 0pt 0 2em;
96        }
97        dd OL, dd UL
98        {
99            margin              : 6pt 0pt 0 0;
100        }
101        OL OL, UL UL
102        {
103            margin-left: 3em;
104        }
105
106        DT
107        {
108            font-family         : "Courier New", monospace;
109            margin-top : 0.3em;
110            margin-bottom : 0.3em;
111        }
112        DD
113        {
114            margin-top : 0.3em;
115            margin-bottom : 0.6em;
116        }
117
118        PRE
119        {
120            font-family         : "Courier New", monospace;
121            font-weight         : normal;
122
123            margin              : 0pt 0pt 6pt 50pt;
124            padding             : 2pt 8pt 2pt 8pt;
125            background-color    : #eee;
126
127            border-style        : solid;
128            border-width        : 1px;
129        }
130        em
131        {
132            font-style: normal;
133            color: red;
134        }
135        TABLE
136        {
137            margin-left         : 40pt;
138            margin-bottom       : 20pt;
139            border-color        : #aaa;
140            border-width        : 1pt;
141            border-style        : solid;
142        }
143        TD
144        {
145            font-style          : normal;
146            padding             : 2pt 4pt 2pt 4pt;
147
148            border-color        : #aaa;
149            border-width        : 1pt;
150            border-style        : solid;
151        }
152        div.footer
153        {
154            border-color: black;
155            padding-top: 0.5em;
156            border-top-style    : solid;
157            border-top-width    : 1px;
158            width:              100%;
159            margin-top: 4em;;
160        }
161        div.footer span
162        {
163            color               : #46f;
164            float: right;
165        }
166        table.diff
167        {
168            border: none;
169        }
170        table.diff td
171        {
172            border: none;
173            border-bottom: solid 1px black;
174        }
175        table.diff div.wii,table.diff div.twl,table.diff div.card,table.diff div.nand
176        {
177            padding: 0.2em 0.3em;
178        }
179        table.diff div.card
180        {
181            background-color: #A88;
182            border: solid 1px #FFF;
183            color: #FFF;
184        }
185        table.diff div.wii
186        {
187            background-color: #88A;
188            border: solid 1px #FFF;
189            color: #FFF;
190        }
191        table.diff div.twl,table.diff div.nand
192        {
193            background-color: #FFE;
194            border: solid 1px #0D9;
195            color: #0D9;
196        }
197        div.popup
198        {
199            position: absolute;
200            background-color: #FFFEF9;
201            border: solid 1px #B5B200;
202            border-style: none solid solid none;
203            font-size: 0.8em;
204            padding: 1em;
205        }
206        dd
207        {
208            margin-bottom: 1em;
209        }
210    </STYLE>
211    <SCRIPT type="text/javascript">
212    <!--
213
214        var Global = {
215            root: document.documentElement,
216            popup: null,
217            popupMap: {},
218            popupIndex: 0
219        };
220
221        if( ! Event.stopPropagation )
222        {
223            Event.prototype.stopPropagation = function()
224            {
225                this.cancelBubble = true;
226            }
227        }
228        Event.prototype.GetTarget = function()
229        {
230            if( this.target )
231            {
232                return this.target;
233            }
234            else
235            {
236                return this.srcElement;
237            }
238        }
239        if( !  Element.prototype.addEventListener )
240        {
241            Element.prototype.addEventListener = function(type, listener, useCapture)
242            {
243                var helper = function()
244                    {
245                        if( listener.handleEvent )
246                        {
247                            return listener.handleEvent.apply(listener, arguments);
248                        }
249                        else
250                        {
251                            return listener.apply(null, arguments);
252                        }
253                    };
254
255                this.attachEvent("on" + type, helper);
256            }
257        }
258
259        function CallMethod(obj, method)
260        {
261            return new function()
262            {
263                return method.apply(obj, arguments)
264            };
265        }
266        function WordPopup(x, y, word)
267        {
268            function MakeHtml(word)
269            {
270                var dd = document.getElementById("word-" + word);
271                return dd.innerHTML;
272            }
273            this.CloseChild = function()
274            {
275                if( this.child != null )
276                {
277                    this.child.Close();
278                    this.child = null;
279                }
280            }
281            this.Close = function()
282            {
283                if( this.obj != null )
284                {
285                    this.CloseChild();
286
287                    document.body.removeChild(this.obj);
288                    delete Global.popupMap[this.id];
289                    this.obj = null;
290                }
291            }
292            this.SetChild = function(child)
293            {
294                this.CloseChild();
295                this.child = child;
296            }
297            this.OnMouseOver = function(e)
298            {
299                e.stopPropagation();
300
301                var target = e.GetTarget();
302
303                if( target.nodeType == 1 )
304                {
305                    if( target.tagName == "A" )
306                    {
307                        return;
308                    }
309                }
310
311                this.CloseChild();
312            }
313            this.handleEvent = function(e)
314            {
315                if( e.type == "mouseover" )
316                {
317                    this.OnMouseOver(e);
318                }
319            }
320
321            this.child = null;
322            this.word = word;
323            this.id = Global.popupIndex++;
324
325            this.obj = document.createElement("div");
326            this.obj.className = "popup";
327            this.obj.id = "popup-" + this.id;
328            this.obj.innerHTML = MakeHtml(word);
329            this.obj.style.left = x + "px";
330            this.obj.style.top  = y + "px";
331
332            Global.popupMap[this.id] = this;
333
334            this.obj.addEventListener("mouseover", this, false);
335
336            document.body.insertBefore(this.obj, null);
337        }
338        function DeleteRule(index)
339        {
340            var ss = document.styleSheets.item(0);
341
342            if( ss.removeRule )
343            {
344                ss.removeRule(index);
345            }
346            else
347            {
348                ss.deleteRule(index);
349            }
350        }
351        function OnClickAnchor(e, anchor)
352        {
353            window.parent.frames[1].location.hash = anchor;
354
355            if( e.preventDefault )
356            {
357                e.preventDefault();
358            }
359            else
360            {
361                e.returnValue = false;
362            }
363        }
364        function trav(obj)
365        {
366            var ary = new Array();
367
368            for( var i = 0; i < obj.childNodes.length; ++i )
369            {
370                var c = obj.childNodes.item(i);
371
372                if( c.nodeType == 1 )
373                {
374                    if( c.tagName == "H2" || c.tagName == "H3" )
375                    {
376                        var a = c.childNodes.item(0);
377                        var text  = "";
378                        var anchor = "";
379
380                        if( a && a.tagName == "A" )
381                        {
382                            text  = a.innerHTML;
383                            anchor = a.name;
384                        }
385                        else
386                        {
387                            text  = c.innerHTML;
388                        }
389
390                        ary.push([c.tagName.substr(1,1), "<a target=\"right\" href=\"?right#" + anchor + "\" onclick=\"OnClickAnchor(event, '" + anchor + "')\">" + text + "</a>"]);
391                    }
392                    else
393                    {
394                        ary = ary.concat(trav(c));
395                    }
396                }
397            }
398
399            return ary;
400        }
401        function GetNextTagIndex(obj, tagName, start)
402        {
403            for( var i = start; i  < obj.childNodes.length; ++i )
404            {
405                var c = obj.childNodes.item(i);
406
407                if( c.nodeType == 1 )
408                {
409                    if( c.nodeName == tagName )
410                    {
411                        return i;
412                    }
413                }
414            }
415
416            return -1;
417        }
418        function OnOverWord(e, word)
419        {
420            e.stopPropagation();
421            var ex = e.clientX + Global.root.scrollLeft;
422            var ey = e.clientY + Global.root.scrollTop;
423            var target = e.GetTarget();
424
425            if( target.nodeType == 1 )
426            {
427                if( target.tagName == "A" )
428                {
429                    if( target.parentNode.tagName == "DIV" )
430                    {
431                        var parentId = target.parentNode.id.match(/\d+/);
432                        var parent = Global.popupMap[parentId];
433                        parent.SetChild(new WordPopup(ex, ey, word));
434                    }
435                    else
436                    {
437                        if( Global.popup != null )
438                        {
439                            if( Global.popup.word == word )
440                            {
441                                return;
442                            }
443
444                            Global.popup.Close();
445                        }
446
447                        Global.popup = new WordPopup(ex, ey, word);;
448                    }
449                }
450            }
451        }
452        function CollectWords()
453        {
454            var dls = document.getElementsByTagName("dl");
455            var words = [];
456
457            for( var i = 0; i < dls.length; ++i )
458            {
459                var dl = dls[i];
460
461                for( var j = 0; j < dl.childNodes.length; )
462                {
463                    var dti = GetNextTagIndex(dl, "DT", j);
464                    if( dti < 0 )
465                    {
466                        break;
467                    }
468
469                    var ddi = GetNextTagIndex(dl, "DD", dti);
470                    if( ddi < 0 )
471                    {
472                        break;
473                    }
474
475                    var dt = dl.childNodes.item(dti);
476                    var dd = dl.childNodes.item(ddi);
477
478                    j = ddi + 1;
479
480                    var wordName = dt.innerHTML.replace(/^\s+|\s+$/, "");
481                    if( wordName )
482                    {
483                        words.push(wordName);
484                        dt.innerHTML = "<a name=\"" + wordName + "\">" + wordName + "</a>";
485                        dd.id = "word-" + wordName;
486                    }
487                }
488            }
489
490            return words.sort(function(a, b){ return b.length - a.length; });
491        }
492        function ReplaceWords(text, words)
493        {
494            for( var k = 0; k < words.length; ++k )
495            {
496                var word = words[k];
497                text = text.replace(word, "<a href=\"#" + word + "\">" + word + "</a>");
498            }
499
500            return text;
501        }
502        function LinkWords(words)
503        {
504            var dls = document.getElementsByTagName("dl");
505
506            var reText = words.join("|");
507            var re = new RegExp(reText);
508
509            for( var i = 0; i < dls.length; ++i )
510            {
511                var dl = dls[i];
512
513                for( var j = 0; j < dl.childNodes.length; )
514                {
515                    var ddi = GetNextTagIndex(dl, "DD", j);
516                    if( ddi < 0 )
517                    {
518                        break;
519                    }
520
521                    var dd = dl.childNodes.item(ddi);
522
523                    j = ddi + 1;
524
525                    var html = dd.innerHTML;
526                    var replaced = "";
527
528                    while( html.match(re) )
529                    {
530                        var word = RegExp.lastMatch;
531                        var offset = RegExp.leftContext.length;
532                        replaced += html.substr(0, offset);
533                        replaced += "<a href=\"#" + word + "\" onmouseover=\"OnOverWord(event, '" + word + "')\">" + word + "</a>";
534                        html = html.substr(offset + word.length);
535                    }
536
537                    dd.innerHTML = replaced + html;
538                }
539            }
540        }
541        function OnLoad_Left()
542        {
543            var test = trav(document.body);
544            var test2 = "";
545            var level = 2;
546
547            test2 += "<ul class='left'>";
548            for( var i in test )
549            {
550                while( test[i][0] > level )
551                {
552                    level++;
553                    test2 += "<ul>";
554                }
555                while( test[i][0] < level )
556                {
557                    level--;
558                    test2 += "</ul>";
559                }
560
561                test2 += "<li>" + test[i][1];
562            }
563            test2 += "</ul>";
564
565            document.body.innerHTML = test2;
566            DeleteRule(0);
567        }
568        function OnLoad_Frame()
569        {
570            var myname = location.pathname.substr(location.pathname.lastIndexOf("/") + 1);
571
572            var f = document.createElement("frameset");
573            var l = document.createElement("frame");
574            var r = document.createElement("frame");
575
576            f.appendChild(l);
577            f.appendChild(r);
578            f.cols = "150,*";
579
580            l.src  = myname + "?left";
581            r.src  = myname + "?right";
582            l.name = "left";
583            r.name = "right";
584
585            var h = document.documentElement;
586            var b = h.getElementsByTagName("body").item(0);
587
588            h.replaceChild(f, b);
589        }
590        function OnLoad_Right()
591        {
592            document.body.addEventListener("mouseover", OnMouseOver, false);
593
594            var words = CollectWords();
595            LinkWords(words);
596        }
597        function OnMouseOver(e)
598        {
599            var target = e.GetTarget();
600
601            if( Global.popup != null )
602            {
603                if( target.nodeType == 1 )
604                {
605                    if( target.tagName == "A" )
606                    {
607                        return;
608                    }
609                }
610
611                Global.popup.Close();
612                Global.popup = null;
613            }
614        }
615
616
617        if( ! window.opera )
618        {
619            var search = "?right";//location.search;
620
621            if( search == "?left" )
622            {
623                window.onload = OnLoad_Left;
624            }
625            else if( search == "" )
626            {
627                window.onload = OnLoad_Frame;
628            }
629            else if( search == "?right" )
630            {
631                window.onload = OnLoad_Right;
632            }
633
634            if( search != "?right" )
635            {
636                var ss = document.styleSheets.item(0);
637
638                if( ss.addRule )
639                {
640                    ss.addRule("body", "display: none", 0);
641                }
642                else
643                {
644                    ss.insertRule("body {display: none}", 0);
645                }
646            }
647        }
648    //-->
649    </SCRIPT>
650</HEAD>
651
652<BODY>
653
654
655
656
657
658<H1>ID List</H1>
659<DIV class="date">(2011.12.12)</DIV>
660
661
662
663
664
665<H2><a name="intro">Introduction</a></H2>
666
667<H3>About This Document</H3>
668<P>
669This document presents a list with descriptions of the various identifiers used in the CTR-SDK.
670</P>
671<P>
672The meanings and usage of terms used in this document and the CTR-SDK may differ from their general meanings and usage.
673</P>
674
675<H3>Explanations of the Various Items Given in Each Description</H3>
676<P>
677    The <B>Descriptions</B> section of this document provides various items of information. Below is an explanation of the meaning of each item.
678</P>
679<dl>
680    <dt>Specifier
681    <dd>Explains who is responsible for specifying which values are used in the application.
682
683    <dt>ID Latitude
684    <dd>
685    Explains to what extent the application has any latitude in using ID values. <br>If there is no latitude, then the value must be used as specified.  When there are a number of IDs, then the application can select which ID to use from among multiple IDs, based on the specification you want to implement for the application.
686
687    <dt>Format
688    <dd>Describes which format the ID value takes.
689
690    <dt>Usage
691    <dd>Describes what the ID value is being used for.
692
693    <dt>How to Get
694    <dd>Describes how to get the ID.
695
696    <dt>Normal Value
697    <dd>
698    When there is some latitude in using ID values, this describes which value should be used in normal situations.
699
700    <dt>Where Used
701    <dd>Describes where this ID is used for application development.
702
703    <dt>Supplemental Information
704    <dd>
705    Additional descriptions that do not fit into any of the above categories.
706
707</dl>
708
709
710
711
712<H2><a name="body">List</a></H2>
713
714<h3>Business Procedure IDs</h3>
715<ul>
716<li><a href="#ProductCode">Product Code (ProductCode)</a>
717<li><a href="#InitialCode">Game Code (InitialCode)</a>
718</ul>
719
720<h3>Non-Communication IDs</h3>
721<ul>
722<li><a href="#UniqueId">UniqueId</a>
723<li><a href="#ExtSaveDataId">Expanded save data ID (ExtSaveDataId)</a>
724<li><a href="#UserId">User ID (UserId)</a>
725<li><a href="#TransferableId">System-specific ID (TransferableId)</a>
726</ul>
727
728<h3>Communication IDs</h3>
729<ul>
730<li><a href="#LocalCommunicationId">Local communication ID  (LocalCommunicationId)</a>
731<li><a href="#CecUniqueId">StreetPass unique ID (CecUniqueId)</a>
732<li><a href="#CecTitleId">StreetPass ID (CecTitleId)</a>
733<li><a href="#IrCommunicationId">Infrared communication ID (IrCommunicationId)</a> <!-- <li><a href="#PrincipalId">プリンシパル ID (PrincipalId)</a> <li><a href="#LocalFriendCode">ローカルフレンドコード (LocalFriendCode)</a> <li><a href="#FriendCode">フレンドコード (FriendCode)</a> <li><a href="#JoinGameId">合流ゲーム ID (JoinGameId)</a> -->
734</ul>
735
736
737
738
739
740<H2><a name="body">Descriptions</a></H2>
741
742<H3><a name="ProductCode">Product Code (ProductCode)</a></H3>
743<dl>
744    <dt>Specifier
745    <dd>Nintendo.
746
747    <dt>ID Latitude
748    <dd>None.
749
750    <dt>Format
751    <dd>String of 16 characters.
752
753    <dt>Usage
754    <dd>Used by Nintendo for product management.
755
756    <dt>How to Get
757    <dd>Issued by Nintendo.
758
759    <dt>Normal Value
760    <dd>Use the value specified by Nintendo.
761
762    <dt>Where Used
763    <dd>Set in RSF.
764
765    <dt>Supplemental Information
766    <dd>A value is specified for each separate application and should be used as-is.
767
768</dl>
769
770<H3><a name="InitialCode">Game Code (InitialCode)</a></H3>
771<dl>
772    <dt>Specifier
773    <dd>Nintendo.
774
775    <dt>ID Latitude
776    <dd>None.
777
778    <dt>Format
779    <dd>String of 4 characters.
780
781    <dt>Usage
782    <dd>Used by Nintendo for product management.
783
784    <dt>How to Get
785    <dd>Issued by Nintendo as part of the product code.
786
787    <dt>Normal Value
788    <dd>Use the value specified by Nintendo.
789
790    <dt>Where Used
791    <dd>
792
793    <dt>Supplemental Information
794    <dd>A value is specified for each separate application and should be used as-is.
795
796</dl>
797
798<H3><a name="UniqueId">UniqueId</a></H3>
799<dl>
800    <dt>Specifier
801    <dd>Nintendo.
802
803    <dt>ID Latitude
804    <dd>None.
805
806    <dt>Format
807    <dd>A bit array of 20 bits.
808
809    <dt>Usage
810    <dd>The ID that identifies the application.
811
812    <dt>How to Get
813    <dd>Issued by Nintendo.
814
815    <dt>Normal Value
816    <dd>Use the value specified by Nintendo.
817
818    <dt>Where Used
819    <dd>Used in the following places:
820        <ul>
821        <li>The setting in the RSF.
822        <li>As the expanded save data ID.
823        <li>In creation of system-specific ID.
824        <li>In creation of local communication ID.
825        <li>As the StreetPass unique ID.
826        <li>In creation of infrared communication ID.
827        </ul>
828
829    <dt>Supplemental Information
830    <dd>
831    The CTR system identifies an application by its unique ID. In addition, many other IDs including communication-related IDs are created from this unique ID.
832
833</dl>
834
835<H3><a name="ExtSaveDataId">Expanded save data ID (ExtSaveDataId)</a></H3>
836<dl>
837    <dt>Specifier
838    <dd>The application selects from the unique IDs specified by Nintendo.
839
840    <dt>ID Latitude
841    <dd>Can select from among assigned unique IDs.
842
843    <dt>Format
844    <dd>A bit array of 64 bits.
845
846    <dt>Usage
847    <dd>The ID for identifying expanded save data.
848
849    <dt>How to Get
850    <dd>
851    Use the value of the unique ID.
852
853    <dt>Normal Value
854    <dd>Use the unique ID of the target application.
855
856    <dt>Where Used
857    <dd>Used in the following places.
858        <ul>
859        <li>The setting in the RSF.
860        <li><a href="../../api/nn/fs/MountExtSaveData.html">The <CODE>MountExtSaveData</CODE> function.</a>
861        </ul>
862
863    <dt>Supplemental Information
864    <dd>
865    Normally, the unique ID assigned to the target application is used as-is for the expanded save data ID. But if multiple applications will be sharing the expanded save data, then for the expanded save data ID you choose to use the unique ID of one of these applications.  <br/>In creating the expanded save data ID, you cannot base it on just any arbitrary unique ID value. You must use the unique ID of one of the applications that will be using the expanded save data.
866
867</dl>
868
869<H3><a name="UserId">User ID (UserId)</a></H3>
870<dl>
871    <dt>Specifier
872    <dd>System-specific.
873
874    <dt>ID Latitude
875    <dd>None.
876
877    <dt>Format
878    <dd>A bit array of 64 bits.
879
880    <dt>Usage
881    <dd>Used by the ubl library to identify users.
882
883    <dt>How to Get
884    <dd>
885    Call the <CODE><a href="../../api/nn/ubl/GetUserId.html">GetUserId</a></CODE> function to get this value.
886
887    <dt>Normal Value
888    <dd>Different for each system.
889
890    <dt>Where Used
891    <dd>Used by the ubl library.
892
893    <dt>Supplemental Information
894    <dd>
895    None.
896
897</dl>
898
899<H3><a name="TransferableId">System-specific ID (TransferableId)</a></H3>
900<dl>
901    <dt>Specifier
902    <dd>System-specific.
903
904    <dt>ID Latitude
905    <dd>None.
906
907    <dt>Format
908    <dd>A bit array of 64 bits.
909
910    <dt>Usage
911    <dd>The application has the option of using this to identify the system.
912
913    <dt>How to Get
914    <dd>
915    Call the <CODE><a href="../../api/nn/cfg/CTR/GetTransferableId.html">GetTransferableId</a></CODE> function using the unique ID for the argument to get this value.
916
917    <dt>Normal Value
918    <dd>Different for each system.
919
920    <dt>Where Used
921    <dd>Used optionally by the application.
922
923    <dt>Supplemental Information
924    <dd>
925    None.
926
927</dl>
928
929
930<H3><a name="LocalCommunicationId">Local communication ID  (LocalCommunicationId)</a></H3>
931<dl>
932    <dt>Specifier
933    <dd>The application selects from the unique IDs specified by Nintendo.
934
935    <dt>ID Latitude
936    <dd>Can select from among assigned unique IDs.
937
938    <dt>Format
939    <dd>A bit array of 32 bits.
940
941    <dt>Usage
942    <dd>
943    Used during UDS communication to prevent mixing of communication among different applications. <br>Communications can only take place between applications that use the same local communication ID.
944
945    <dt>How to Get
946    <dd>
947    Call the <CODE><a href="../../api/nn/uds/CTR/CreateLocalCommunicationId.html">CreateLocalCommunicationId</a></CODE> function using the unique ID for the argument to get this value.
948
949    <dt>Normal Value
950    <dd>Use the value created from the unique ID of the target application.
951
952    <dt>Where Used
953    <dd>The uds library API.
954
955    <dt>Supplemental Information
956    <dd>
957    Normally, the local communication ID is created from the unique ID assigned to the target application. But if applications are communicating with each other, then the local communication ID is created from the unique ID of one of the applications and shared by all. <br/>In creating the local communication ID, you cannot base it on just any arbitrary unique ID value; you must use the unique ID of one of the applications that is participating in the communications. <br/>In UDS communications, there is a separate mechanism for preventing communication between applications, even when the same local communication ID is being used.
958
959
960</dl>
961
962
963<H3><a name="CecUniqueId">StreetPass unique ID (CecUniqueId)</a></H3>
964<dl>
965    <dt>Specifier
966    <dd>The application selects from the unique IDs specified by Nintendo.
967
968    <dt>ID Latitude
969    <dd>Can select from among assigned unique IDs.
970
971    <dt>Format
972    <dd>A bit array of 20 bits.
973
974    <dt>Usage
975    <dd>
976    Used in StreetPass to identify the applications conducting StreetPass communications. <br>StreetPass communications can take place between applications that use the same StreetPass unique ID.
977
978    <dt>How to Get
979    <dd>
980    Use the value of the unique ID.
981
982    <dt>Normal Value
983    <dd>Use the unique ID of the target application.
984
985    <dt>Where Used
986    <dd>Used in the following places.
987        <ul>
988        <li>The setting in the BSF.
989        <li>In creation of StreetPass ID.
990        </ul>
991
992    <dt>Supplemental Information
993    <dd>
994    Normally, the local communication ID is created from the unique ID assigned to the target application. But if applications are communicating with each other, then the local communication ID is created from the unique ID of one of the applications and shared by all. <br/>In creating the local communication ID, you cannot base it on just any arbitrary unique ID value; you must use the unique ID of one of the applications that is participating in the communications.
995
996</dl>
997
998<H3><a name="CecTitleId">StreetPass ID (CecTitleId)</a></H3>
999<dl>
1000    <dt>Specifier
1001    <dd>Same as for the StreetPass unique ID.
1002
1003    <dt>ID Latitude
1004    <dd>Same as for the StreetPass unique ID.
1005
1006    <dt>Format
1007    <dd>A bit array of 32 bits.
1008
1009    <dt>Usage
1010    <dd>
1011    The format of the StreetPass unique ID as used by the cec library.
1012
1013    <dt>How to Get
1014    <dd>
1015    Call the <CODE><a href="../../api/nn/cec/CTR/MakeCecTitleId.html">MakeCecTitleId</a></CODE> function using the StreetPass unique ID for the argument to get this value.
1016
1017    <dt>Normal Value
1018    <dd>Use the value created from the unique ID of the target application.
1019
1020    <dt>Where Used
1021    <dd>Used by the cec library.
1022
1023    <dt>Supplemental Information
1024    <dd>
1025    The cec library uses the StreetPass unique ID, not as is, but rather in the form of the StreetPass ID.
1026
1027</dl>
1028
1029<H3><a name="IrCommunicationId">Infrared communication ID (IrCommunicationId) </a></H3>
1030<dl>
1031    <dt>Specifier
1032    <dd>The application selects from the unique IDs specified by Nintendo.
1033
1034    <dt>ID Latitude
1035    <dd>Can select from among assigned unique IDs.
1036
1037    <dt>Format
1038    <dd>A bit array of 32 bits.
1039
1040    <dt>Usage
1041    <dd>
1042    Used during infrared communication to prevent mixing of communication among different applications. <br>Communications can only take place between applications that use the same infrared communication ID.
1043
1044    <dt>How to Get
1045    <dd>
1046    Call the <CODE><a href="../../api/nn/ir/CTR/Communicator/CreateCommunicationId.html">Communicator::CreateCommunicationId</a></CODE> function using the unique ID for the argument to get this value.
1047
1048    <dt>Normal Value
1049    <dd>Use the value created from the unique ID of the target application.
1050
1051    <dt>Where Used
1052    <dd>Used by the <CODE>ir</CODE> library.
1053
1054    <dt>Supplemental Information
1055    <dd>
1056    Normally, the infrared communication ID is created from the unique ID assigned to the target application. But if applications are communicating with each other, then the infrared communication ID is created from the unique ID of one of the applications and shared by all. <br/>In creating the local communication ID, you cannot base it on just any arbitrary unique ID value; you must use the unique ID of one of the applications that is participating in the communications.
1057
1058</dl>
1059
1060<!-- <H3><a name="PrincipalId">プリンシパル ID (PrincipalId)</a></H3> <H3><a name="LocalFriendCode">ローカルフレンドコード (LocalFriendCode)</a></H3> <H3><a name="FriendCode">フレンドコード (FriendCode)</a></H3> <H3><a name="JoinGameId">合流ゲーム ID (JoinGameId)</a></H3> -->
1061
1062
1063
1064
1065<H2>Revision History</H2>
1066<dl class="history">
1067    <dt>2012/06/29</dt>
1068<dd>Deleted the description for the Company Code.</dd>
1069    <dt>2011/12/12</dt>
1070    <dd>
1071        Initial version.
1072    </dd>
1073</dl>
1074
1075
1076<div class="footer"><span>ID List</span></div>
1077
1078<hr><p>CONFIDENTIAL</p></BODY>
1079</HTML>