12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package go_zrfu
- import (
- "fmt"
- )
- var errBehaviorMap map[uint32]string = map[uint32]string{
- 0x0001: "NullPointerOfHandle",
- 0x0002: "NullHandle",
- 0x0003: "InvalidHandle",
- 0x0004: "StaleVersionHandle",
- 0x0005: "HandleIndexPastEnd",
- 0x0006: "HandleMapWrong",
- 0x0007: "NullBufferPtr",
- 0x0008: "IOError",
- 0x0009: "CBORDecodeError",
- 0x000A: "ProcNotFound",
- 0x000B: "ProcRegistryNameError",
- 0x000C: "ProcCallerNotInit",
- 0x000D: "ProcCallerRepeatlyInit",
- 0x000E: "ArgsCBORDecodeError",
- 0x000F: "ReturnCBOREncodeError",
- 0x0010: "NoDataToEncodeCBOR",
- 0x0011: "NoArgsNeed",
- 0x0012: "NoReturnProvided",
- 0x0013: "CanNotGetArgs",
- }
- var errPrefixMap map[uint32]string = map[uint32]string{
- 0x0000_0000: "generic",
- 0x0001_0000: "BytesVec",
- 0x0002_0000: "ProcCaller",
- 0x0101_0000: "ProcCallBasic",
- 0x0102_0000: "ProcCallInput",
- 0x0103_0000: "ProcCallReturn",
- 0x0201_0000: "ProcCalling",
- }
- func CheckRetVal(retcode int32) error {
- if retcode >= 0 {
- return nil
- }
- ecode := uint32(-retcode)
- beh := ecode & 0x0000FFFF
- prefix := ecode & 0xFFFF0000
- v1, ok := errPrefixMap[prefix]
- var ps string
- if ok {
- ps = v1
- } else {
- ps = "Unknown"
- }
- var bhs string
- v2, ok := errBehaviorMap[beh]
- if ok {
- bhs = v2
- } else {
- bhs = "Unknown"
- }
- return fmt.Errorf("zrfu calling error: %s.%s", ps, bhs)
- }
|