Line 1,213: |
Line 1,213: |
| | 0x18 || 0x6 || [[#GroupId]] ("GROUP ID (BSSID)"). When zero, the default is used. The default should be used here: an error is thrown if the data here doesn't match the output from [[WLAN_services|wlan:lcl]] cmd2. | | | 0x18 || 0x6 || [[#GroupId]] ("GROUP ID (BSSID)"). When zero, the default is used. The default should be used here: an error is thrown if the data here doesn't match the output from [[WLAN_services|wlan:lcl]] cmd2. |
| |- | | |- |
− | | 0x1E || 0x21 || ServiceName ("GROUP NAME (SSID)"). NUL-terminated string. If the SSID is invalid, a new SSID is generated, however in this case the original SSID must contain a '-' character. | + | | 0x1E || 0x21 || ServiceName ("GROUP NAME (SSID)"). NUL-terminated string. See below. |
| |- | | |- |
| | 0x3F || 0x1 || s8 Flags count. Must be <=0x3F. | | | 0x3F || 0x1 || s8 Flags count. Must be <=0x3F. |
Line 1,259: |
Line 1,259: |
| * The following character must be a NUL-terminator. | | * The following character must be a NUL-terminator. |
| * The last hex character above, then the characters for the whole string prior to the last hex character are summed. return sum % 0x2B == 0. u32 is used for these calculations. (Return success when sum is a multiple of 0x2B, otherwise return failure) | | * The last hex character above, then the characters for the whole string prior to the last hex character are summed. return sum % 0x2B == 0. u32 is used for these calculations. (Return success when sum is a multiple of 0x2B, otherwise return failure) |
| + | |
| + | If the above fails, then the following runs, otherwise it just returns 0: |
| + | * It loops through the characters in the string. |
| + | ** The character must be '-', or alphanumeric (lowercase/uppercase), otherwise the function will immediately return failure. |
| + | ** The loop will exit once string_pos>20 is reached, or when a NUL-terminator is reached. |
| + | * Once finished, success is returned if string_pos-1 is <20, otherwise failure is returned (which also immediately occurs if the first character is a NUL-terminator). |
| + | |
| + | If the above fails, an error is returned, otherwise a new ServiceName is generated. |
| | | |
| loaded_flags are first loaded from elsewhere, then masked with the above flags when available. loaded_flags are used when +0x8A is 0. global_flags are loaded from global data. These flags are only used with [[#CreateGroup]]/[[#Join]]. Flags (note that the following was updated with [11.0.0+], and differs from below): | | loaded_flags are first loaded from elsewhere, then masked with the above flags when available. loaded_flags are used when +0x8A is 0. global_flags are loaded from global data. These flags are only used with [[#CreateGroup]]/[[#Join]]. Flags (note that the following was updated with [11.0.0+], and differs from below): |