198 | | return getEAP()->writeRegBlock(Dice::EAP::eRT_Application, 0x44, (quadlet_t*)name.c_str(), name.size()); |
---|
| 195 | char nickname[SAFFIRE_PRO14_APP_NICK_NAME_SIZE+1]; |
---|
| 196 | |
---|
| 197 | // The device has room for SAFFIRE_PRO14_APP_NICK_NAME_SIZE characters. |
---|
| 198 | // Erase supplementary characters or fill-in with NULL character if necessary |
---|
| 199 | strncpy(nickname, name.c_str(), SAFFIRE_PRO14_APP_NICK_NAME_SIZE); |
---|
| 200 | |
---|
| 201 | // Strings from the device are always little-endian, |
---|
| 202 | // so byteswap for big-endian machines |
---|
| 203 | #if __BYTE_ORDER == __BIG_ENDIAN |
---|
| 204 | byteSwapBlock((quadlet_t *)nickname, SAFFIRE_PRO14_APP_NICK_NAME_SIZE/4); |
---|
| 205 | #endif |
---|
| 206 | |
---|
| 207 | if (!getEAP()->writeRegBlock(Dice::EAP::eRT_Application, SAFFIRE_PRO14_REGISTER_APP_NICK_NAME, |
---|
| 208 | (quadlet_t*)nickname, SAFFIRE_PRO14_APP_NICK_NAME_SIZE)) { |
---|
| 209 | debugError("Could not write nickname string \n"); |
---|
| 210 | return false; |
---|
| 211 | } |
---|
| 212 | return true; |
---|
201 | | char name[16]; |
---|
202 | | getEAP()->readRegBlock(Dice::EAP::eRT_Application, 0x44, (quadlet_t*)name, 16); |
---|
203 | | return std::string(name); |
---|
| 215 | char nickname[SAFFIRE_PRO14_APP_NICK_NAME_SIZE+1]; |
---|
| 216 | if (!getEAP()->readRegBlock(Dice::EAP::eRT_Application, SAFFIRE_PRO14_REGISTER_APP_NICK_NAME, |
---|
| 217 | (quadlet_t*)nickname, SAFFIRE_PRO14_APP_NICK_NAME_SIZE)){ |
---|
| 218 | debugError("Could not read nickname string \n"); |
---|
| 219 | return std::string("(unknown)"); |
---|
| 220 | } |
---|
| 221 | |
---|
| 222 | // Strings from the device are always little-endian, |
---|
| 223 | // so byteswap for big-endian machines |
---|
| 224 | #if __BYTE_ORDER == __BIG_ENDIAN |
---|
| 225 | byteSwapBlock((quadlet_t *)nickname, SAFFIRE_PRO14_APP_NICK_NAME_SIZE/4); |
---|
| 226 | #endif |
---|
| 227 | |
---|
| 228 | // The device supplies at most SAFFIRE_PRO14_APP_NICK_NAME_SIZE characters. Ensure the string is |
---|
| 229 | // NULL terminated. |
---|
| 230 | nickname[SAFFIRE_PRO14_APP_NICK_NAME_SIZE] = 0; |
---|
| 231 | return std::string(nickname); |
---|