nn::boss Namespace

Description

The namespace of the SpotPass communication library.

SpotPass is a general term for BOSS (Background Online Service System) communication functions. Applications can use BOSS to communicate in the background with data servers provided by Nintendo (hereafter, called "BOSS data servers").

To use BOSS, an application must register a task (a set of information specific to the communication process) in BOSS, and then start the task. The task configuration includes such information as the execution interval and the number of executions remaining. BOSS executes the task periodically in the background, based on this information.

The application can learn when a task finishes downloading new data by polling the state of the task or event notifications. This data can also be read via BOSS. The following tasks are currently provided.

This task is essentially run in the background, but once a task has been registered, the application can run it whenever it likes. In this case, the task's communication process will be run in the foreground.

Note: As of CTR-SDK 2.1, BOSS tasks will not operate on CTR systems that have no country settings. Configure your hardware with country settings if you will be doing BOSS development. You can configure the country setting using the initial startup sequence on the HOME Menu.

Classes

Result
nn::boss::ResultInvalidPolicy The policy information pointer is NULL.
nn::boss::ResultInvalidAction The task action pointer is NULL.
nn::boss::ResultInvalidOption The task option pointer is NULL, or the option code is invalid.
nn::boss::ResultInvalidAppIdList The pointer for getting the application list is NULL.
nn::boss::ResultInvalidTaskIdList The pointer for getting the task ID list is NULL.
nn::boss::ResultInvalidStepIdList The pointer for getting the step ID list is NULL.
nn::boss::ResultInvalidNsDataIdList The pointer to NS data list information is NULL.
nn::boss::ResultInvalidTaskStatus The task status pointer is NULL.
nn::boss::ResultInvalidPropertyValue The property value pointer is NULL.
nn::boss::ResultInvalidNewArrivalEvent The pointer to the new arrival event is NULL.
nn::boss::ResultInvalidNewArrivalFlag The pointer to the new arrival flag is NULL.
nn::boss::ResultInvalidOptoutFlag The pointer to the OPTOUT flag is NULL.
nn::boss::ResultInvalidTaskError The pointer to the task error information is NULL.
nn::boss::ResultInvalidNsDataValue The pointer to the region that stores NSDATA is NULL.
nn::boss::ResultInvalidNsDataInfo The pointer to the location that stores additional NSDATA information is NULL.
nn::boss::ResultInvalidNsDataReadFlag The pointer to the storage region for the NSDATA read flag is NULL.
nn::boss::ResultInvalidNsDataTime The pointer to the region used to store the NSDATA update time is NULL.
nn::boss::ResultInvalidNextExecuteTime The pointer to the location used to store the minutes value of the next execution time is NULL.
nn::boss::ResultHttpRequestHeaderPointerNull The HTTP request header pointer is NULL.
nn::boss::ResultInvalidPolicyListAvailability The pointer to information that can be used by the policy list is NULL.
nn::boss::ResultInvalidTestModeAvailability The pointer to information usable in test mode is NULL.
nn::boss::ResultInvalidConfigParentalControl The pointer to information on Parental Controls settings is NULL.
nn::boss::ResultInvalidConfigEulaAgreement The pointer to information about whether the user has agreed to the EULA is NULL.
nn::boss::ResultInvalidPolicyListEnvId The pointer to the policy list's environment ID is NULL.
nn::boss::ResultInvalidPolicyListUrl The pointer to the policy list's URL information is NULL.
nn::boss::ResultInvalidTaskId The task ID pointer is NULL or a zero-length string.
nn::boss::ResultInvalidTaskStep The current step ID was specified during task registration.
nn::boss::ResultInvalidPropertyType The property type is not supported.
nn::boss::ResultInvalidUrl The URL string pointer is NULL or a zero-length string.
nn::boss::ResultInvalidFilePath The file path string pointer is NULL or a zero-length string.
nn::boss::ResultInvalidTaskPriority The specified task priority is invalid.
nn::boss::ResultInvalidTaskTargetDuration The task duration is invalid.
nn::boss::ResultActionCodeOutOfRange The task action code is invalid.
nn::boss::ResultInvalidNsDataSeekPosition The NS data seek position exceeds the data size.
nn::boss::ResultInvalidMaxHttpRequestHeader The number of registered HTTP request headers exceeds the maximum.
nn::boss::ResultInvalidMaxClientCert The number of client certificates set exceeds the maximum.
nn::boss::ResultInvalidMaxRootCa The number of root CAs exceeds the maximum that can be set.
nn::boss::ResultSchedulingPolicyOutOfRange The scheduling policy is invalid.
nn::boss::ResultApInfoTypeOutOfRange The AP information type is invalid.
nn::boss::ResultTaskPermissionOutOfRange The task permission information is invalid.
nn::boss::ResultWaitFinishTimeout The WAITFINISH timeout.
nn::boss::ResultWaitFinishTaskNotDone The WAITFINISH task completed in a state other than DONE.
nn::boss::ResultIpcNotSessionInitialized The IPC session is not initialized.
nn::boss::ResultIpcPropertySizeError IPC property size error.
nn::boss::ResultIpcTooManyRequests Too many IPC requests.
nn::boss::ResultAlreadyInitialized Initialization complete.
nn::boss::ResultOutOfMemory Insufficient memory.
nn::boss::ResultInvalidNumberOfNsd Too many NS data files in NS archive.
nn::boss::ResultNsDataInvalidFormat The NS data format is invalid.
nn::boss::ResultAppNotExist The specified application ID was not found.
nn::boss::ResultTaskNotExist The specified task ID was not found.
nn::boss::ResultTaskStepNotExist Specified task step was not found.
nn::boss::ResultApliIdAlreadyExist Another application of the same name is already registered.
nn::boss::ResultTaskIdAlreadyExist Another task of the same name is already registered.
nn::boss::ResultTaskStepAlreadyExist Another task step of the same name is already registered.
nn::boss::ResultInvalidSequence Sequence error (such as starting a task that is already running).
nn::boss::ResultDatabaseFull No space in task database (the task database is full and there are no tasks for which information can be deleted).
nn::boss::ResultCantUnregisterTask The current task state does not permit UnregisterTask to be called.
nn::boss::ResultTaskNotRegistered The task has not been registered in the task database.
nn::boss::ResultInvalidFileHandle Invalid file handle.
nn::boss::ResultInvalidTaskSchedulingPolicy Invalid scheduling policy.
nn::boss::ResultInvalidHttpRequestHeader Error in an HTTP request header.
nn::boss::ResultInvalidHeadType Invalid head type.
nn::boss::ResultStorageAccessPermission No permission to access storage.
nn::boss::ResultStorageInsufficiency Insufficient storage capacity.
nn::boss::ResultStorageNotFound There is no storage for the specified APPID.
nn::boss::ResultNsDataNotFound There is no NS data.
nn::boss::ResultInvalidNsDataGetHeadSize Specified NS data SIZE parameter is invalid.
nn::boss::ResultNsDataListSizeShortage NsDataIdList size is insufficient (list not big enough to store all the NS data serial IDs).
nn::boss::ResultNsDataListUpdated The target NSD group for BOSS storage was updated since the last time a list was obtained.
nn::boss::ResultNotConnectApWithLocation Not connected to an access point.
nn::boss::ResultNotConnectNetwork Not connected to a network.
nn::boss::ResultInvalidFriendcode Invalid friend code error.
nn::boss::ResultFileAccess Failed to access a file.
nn::boss::ResultTaskAlreadyPaused Already paused.
nn::boss::ResultTaskAlreadyResumed Already resumed.
nn::boss::ResultUnexpect Unexpected error.
nn::boss::ResultInvalidStorageParameter An invalid value was set in the parameter specified for storage.
nn::boss::ResultCfgInfoTypeOutOfRange The configuration information type is out of range.
nn::boss::ResultInvalidMaxHttpQuery The HTTP query registration count exceeds the maximum.
nn::boss::ResultInvalidMaxDataStoreDst The DataStore data transmission destination registration count exceeds the maximum.
nn::boss::ResultNSAListInvalidFormat An error has been detected in the NSA list file format.
nn::boss::ResultNSAListDownloadTaskError The NSA list download result was an error.
nn::boss::ResultInvalidSize Invalid value size.
nn::boss::ResultInvalidPointer Invalid pointer.
nn::boss::ResultNotFound Target not found.
nn::boss::ResultAlreadyExists Target already exists.
nn::boss::ResultOutOfRange Value out of defined range.
Other
nn::boss::DataStoreDownloadAction Class for representing DataStore download tasks. Use this to do such things as register DataStore download tasks.
nn::boss::DataStoreUploadAction Class for representing DataStore upload tasks. Use this to do such things as register DataStore upload tasks.
nn::boss::FgOnlyTask Class for representing tasks that are only executed immediately. Use this to register or unregister tasks that are only executed immediately, to control tasks, and for other operations.
nn::boss::NsaDownloadAction Class for representing NADL tasks. Use this to do such things as register NADL tasks.
nn::boss::NsaList A class that handles all processing related to NSA lists. By specifying a file path for the NSA list, you can do things like download the NSA list to that path or parse the NSA list given by that path.
nn::boss::NsData Class for representing NS data. Use for NS data operations (such as reading).
nn::boss::NsDataIdList Class for representing NS data ID lists. Use this to do such things as get a list of NS data to process.
nn::boss::StepIdList Class for representing lists of task step IDs. Use this to do such things as get a task's list of steps. (The task step feature is not currently supported.)
nn::boss::Task Class for representing tasks. Use this to do such things as register or unregister a task, or for task operations.
nn::boss::TaskActionBase Base class for task actions. There is no reason for an application to directly generate an instance of this class.
nn::boss::TaskAction Class for representing task actions. This is the base class for specific task action classes such as NADL tasks. You can also directly generate an instance and use it to get information about task actions for a specific task.
nn::boss::TaskError Class for representing task errors. Use this to get task error information.
nn::boss::TaskIdList Class for representing task ID lists. Use this to do such things as get a list of registered tasks.
nn::boss::TaskOption Class for representing task options. Use this to do such things as set the option information used when registering a task. (The task option feature is not currently supported.)
nn::boss::TaskPolicy Class for representing task policies. Use this to do such things as set the policy information used when registering a task.
nn::boss::TaskQuery Class for representing task queries. Use this to do such things as set an HTTP query when registering a task.
nn::boss::TaskStatus Class for representing task statuses. Use this to do such things as get the status of a task.

Structures

nn::boss::TaskPolicyConfig Definition of an internal structure that maintains attribute information for the TaskPolicy class.
nn::boss::TaskOptionConfig Definition of an internal structure that maintains attribute information for the TaskOption class.
nn::boss::TaskActionConfig Definition of an internal structure that maintains attribute information for the TaskAction class.
nn::boss::TaskConfig Definition of an internal structure that maintains attribute information for the Task class.
nn::boss::TaskStatusInfo Definition of an internal structure that maintains attribute information for the TaskStatus class.
nn::boss::TaskErrorInfo Definition of an internal structure that maintains attribute information for the TaskError class.
nn::boss::HttpQuery Definition of an internal structure that maintains HTTP query information.
nn::boss::TaskQueryConfig Definition of an internal structure that maintains attribute information for the TaskQuery class.
nn::boss::DataStoreDownloadConfig Definition of an internal structure that maintains download information for DataStore.
nn::boss::DataStoreUploadConfig Definition of an internal structure that maintains upload information for DataStore.
nn::boss::ApplicationIdInfoList Definition of an internal structure that maintains attribute information for the ApplicationIdList class.
nn::boss::TaskIdInfoList Definition of an internal structure that maintains attribute information for the TaskIdList class.
nn::boss::StepIdInfoList Definition of an internal structure that maintains attribute information for the StepIdList class.
nn::boss::NsDataIdInfoList Definition of an internal structure that maintains attribute information for the NsDataIdList class.
nn::boss::NsDataHeaderInfo Definition of the internal structure for storing NSD header information.

Enumerated Types

PositionBase Group of constants that indicate the position of file read/writes. (The numeric value of each enumerator is shown at the start of its description.)
PropertyType Constants specifying properties. (The numeric value of each enumerator is shown at the start of its description.)
SchedulingPolicy Constants specifying scheduling policies. (The numeric value of each enumerator is shown at the start of its description.)
TaskPermission Constants specifying task permissions. (The numeric value of each enumerator is shown at the start of its description.)
TaskPriority Constants specifying task priorities. (The numeric value of each enumerator is shown at the start of its description.)
Action Constants specifying task actions. (The numeric value of each enumerator is shown at the start of its description.)
ExecOption Constants specifying task execution options. (The numeric value of each enumerator is shown at the start of its description.)
TaskStateCode Constants specifying task state codes. (The numeric value of each enumerator is shown at the start of its description.)
TaskResultCode A task's exit state. You can use the TaskGetResult function to get these values after a task exits. (The numeric value of each enumerator is shown at the start of its description.)
TaskServiceStatus Constants specifying task service statuses. (The numeric value of each enumerator is shown at the start of its description.)
HeaderInfoType Constants indicating the types of NSD header information obtained. (The numeric value of each enumerator is shown at the start of its description.)
FileDescriptor Constants specifying task action file paths. (The numeric value of each enumerator is shown at the start of its description.)
ApInfoType Constants indicating an access point's identifier type. (The numeric value of each enumerator is shown at the start of its description.)
CfgInfoType Constants indicating the identifier type for system configuration information. (The numeric value of each enumerator is shown at the start of its description.)
StorageType Constants indicating types of BOSS storage. (The numeric value of each enumerator is shown at the start of its description.)
NewsMode Constants indicating whether to issue notification data when receiving DataStore data. (The numeric value of each enumerator is shown at the start of its description.)
DstKind Constants indicating the DataStore data send destination type. (For more details, see the documentation in the NEX library. ) (The numeric value of each enumerator is shown at the start of its description.)
QueryType Constants indicating HTTP query data types. (The numeric value of each enumerator is shown at the start of its description.)
ResultCode Function result codes. These are set as the descriptions for nnResult and are used as return values by BOSS functions. (The numeric value of each enumerator is shown at the start of its description.)

typedef Definitions

TaskPolicyConfig Definition of an internal structure that maintains attribute information for the TaskPolicy class.
TaskOptionConfig Definition of an internal structure that maintains attribute information for the TaskOption class.
TaskActionConfig Definition of an internal structure that maintains attribute information for the TaskAction class.
TaskActionUploadConfig Definition of an internal structure that maintains attribute information for the TaskActionUpload class.
TaskActionDownloadConfig Definition of an internal structure that maintains attribute information for the TaskActionDownload class.
TaskActionSignalConfig Definition of an internal structure that maintains attribute information for the TaskActionSignal class. (This is provided for future extensibility and cannot be used.)
TaskActionNsaDownloadConfig Definition of an internal structure that maintains attribute information for the TaskActionNsaDownload class.
TaskConfig Definition of an internal structure that maintains attribute information for the Task class.
TaskStatusInfo Definition of an internal structure that maintains attribute information for the TaskStatus class.
TaskStepStatusInfo Definition of the internal structure TaskStepStatusInfo. (This is used for internal processing.)
TaskErrorInfo Definition of an internal structure that maintains attribute information for the TaskError class.
HttpQuery Definition of an internal structure that maintains HTTP query information.
TaskQueryConfig Definition of an internal structure that maintains attribute information for the TaskQuery class.
DataStoreDownloadConfig Definition of an internal structure that maintains download information for DataStore.
DataStoreUploadConfig Definition of an internal structure that maintains upload information for DataStore.
ApplicationIdInfoList Definition of an internal structure that maintains attribute information for the ApplicationIdList class.
TaskIdInfoList Definition of an internal structure that maintains attribute information for the TaskIdList class.
StepIdInfoList Definition of an internal structure that maintains attribute information for the StepIdList class.
NsDataIdInfoList Definition of an internal structure that maintains attribute information for the NsDataIdList class.
NsDataHeaderInfo Definition of the internal structure for storing NSD header information.

Constants

S DATA_TYPE_ALL const bit32 All data types.
S DATA_TYPE_APPDATA const bit32 Data type for applications.
S DATA_TYPE_NEWS const bit32 Data type for Notification lists. (This data type is used on the system side. The data cannot be directly obtained from the application.)
S DATA_TYPE_EXBANNER const bit32 Download contextual banner type.
S DATA_TYPE_DATASTORE const bit32 DataStore data type.
S MAX_FILEPATH_LENGTH const u32 Maximum length of a file path.
S MAX_URL_LENGTH const u32 The maximum length for a URL.
S MAX_HTTP_HEADER_LABEL const u32 Maximum length of HTTP header labels.
S MAX_HTTP_HEADER_VALUE const u32 Maximum length of HTTP header values.
S MAX_HTTP_HEADER const u32 Maximum number of headers that can be registered.
S MAX_HTTP_QUERY_NAME const u32 Size of the HTTP query name.
S MAX_HTTP_QUERY_VALUE const u32 Size of the HTTP query value.
S MAX_HTTP_QUERY const u32 Maximum number of HTTP queries that can be registered.
S MAX_ROOT_CA const u32 Maximum number of built-in root CA certificates that can be configured.
S MAX_CLIENT_CERT const u32 Maximum number of built-in client certificates that can be configured.
S TASK_ID_LENGTH const u32 The maximum number of characters in a task ID, including the zero terminator.
S MAX_ERROR_MESSAGE const u32 Maximum number of characters in an error message.
S MAX_APPLICATION_ID const u32 Maximum number of application IDs that can be registered.
S MAX_TASK_ID const u32 Maximum number of task IDs that can be registered.
S MAX_STEP_ID const u32 Maximum number of task steps that can be registered to one task.
S CURRENT_STEP_ID const u32 ID of the currently running task step.
S DEFAULT_STEP_ID const u32 Task step ID when step ID is not specified.
S U32_CANNOT_GET_DATA const u32 Return value when a value cannot be obtained. Used by functions that return u32 values.
S MAX_LASTMODIFIED_LENGTH const u32 Maximum number of characters in the HTTP communication at the time it was updated.
S UNLIMITED_COUNT const u32 Specifies an unlimited execution count.
S MAX_STORAGE_ENTRY_COUNT const u32 Maximum file count in BOSS storage
S DEFAULT_STORAGE_ENTRY_COUNT const u32 Default value for the file count in BOSS storage
S MAX_STORAGE_RECYCLE_COUNT const u32 The maximum number of files that can be reused in BOSS storage (the maximum value is the sum of the file count and the resume count set in the storage options).)
S MAX_ACCESS_KEY_LENGTH const u32 The maximum number of characters in a DataStore access key including the zero terminator.
S MAX_DST_PRINCIPAL_ID const u32 Maximum number of application DataStore send IDs that can be registered.
S MAX_NEWS_SUBJECT_LENGTH const u32 The maximum number of characters in a notification data subject title, including zero terminator.
S MAX_NEWS_MESSAGE_LENGTH const u32 The maximum number of characters in the notification data body, including zero terminator.
S MAX_NEWS_JUMP_PARAM const u32 Size of general-purpose parameters for notification data jumps.
S MAX_TASK_FILE_PARAM const u32 Task file parameter size
S FG_ONLY_TASK_ID const char Task name for immediately executing tasks.

Functions

Other
Initialize Initializes the BOSS library. Call this function once before using the BOSS library.
Finalize Closes the BOSS library. Call this function once when you are finished using the BOSS library.
RegisterPrivateRootCa Registers the independent root CA certificate in the BOSS library. They are used when using HTTPS communication as a connection when executing a task.
There is no need to call this function if an independent root CA certificate is not used.
RegisterPrivateClientCert Registers the independent client certificate and private key in the BOSS library. They are used when using HTTPS communication for the connection when executing a task.
There is no need to call this function if an independent client certificate is not used.
RegisterTask Registers a task.
RegisterImmediateTask Registers an immediately executing task.
UnregisterTask Deletes a registered task.
ReconfigureTask The property settings for registered tasks can be changed.
GetTaskIdList Gets a list of registered task IDs.
GetStepIdList Gets a list of all steps for the specified registered task.
RegisterStorage Registers BOSS storage.
UnregisterStorage Deregisters the BOSS storage. The BOSS storage is not deleted, but merely deregistered.
GetStorageInfo Gets the size of the registered BOSS storage region.
Can also be used to check if the BOSS storage is registered.
GetNewArrivalFlag Checks if new NS data has been downloaded.
However, the new arrival flag does not change if it is not set by the downloaded NS data.
RegisterNewArrivalEvent Registers an event to be signaled when new NS data is received.
GetNewArrivalEvent This is the old (deprecated) name for nn::boss::RegisterNewArrivalEvent.
Avoid using this: it only exists for compatibility.
SetOptoutFlag Sets the OptOut flag.
GetOptoutFlag Gets the OptOut flag.
GetNsDataIdList Specifies the data type, and gets a list of NS data from the expanded save data region where the BOSS storage is registered.
The NS data IDs are stored in descending order from the start of the list.
GetOwnNsDataIdList Excludes the shared NS data, and gets the list of NS data for the local host from the expanded save data region where the BOSS storage is registered.
The NS data IDs are stored in descending order from the start of the list.
GetNewDataNsDataIdList Specifies the data type, and gets a list of newly arrived NS data from the expanded save data region where the BOSS storage is registered.
The NS data IDs are stored in descending order from the start of the list.
GetOwnNewDataNsDataIdList Excludes the shared NS data, and gets the list of NS data for the local host from the expanded save data region where the BOSS storage is registered.
The NS data IDs are stored in descending order from the start of the list.
GetErrorCode The error code is acquired from the task result code (TaskResultCode).

Revision History

2012/04/05
Updated the description to reflect fact that data uploads are also supported.
2011/03/28
Added note about Nintendo server maintenance (note is valid only from late March to early April).
2010/09/16
Initial version.

CONFIDENTIAL