这篇教程C++ AcpiUtStrupr函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中AcpiUtStrupr函数的典型用法代码示例。如果您正苦于以下问题:C++ AcpiUtStrupr函数的具体用法?C++ AcpiUtStrupr怎么用?C++ AcpiUtStrupr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了AcpiUtStrupr函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: AcpiDbFindNameInNamespaceACPI_STATUSAcpiDbFindNameInNamespace ( char *NameArg){ char AcpiName[5] = "____"; char *AcpiNamePtr = AcpiName; if (strlen (NameArg) > 4) { AcpiOsPrintf ("Name must be no longer than 4 characters/n"); return (AE_OK); } /* Pad out name with underscores as necessary to create a 4-char name */ AcpiUtStrupr (NameArg); while (*NameArg) { *AcpiNamePtr = *NameArg; AcpiNamePtr++; NameArg++; } /* Walk the namespace from the root */ (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbWalkAndMatchName, NULL, AcpiName, NULL); AcpiDbSetOutputDestination (ACPI_DB_CONSOLE_OUTPUT); return (AE_OK);}
开发者ID:fsheikh,项目名称:acpica,代码行数:32,
示例2: AcpiDbExecuteTestvoidAcpiDbExecuteTest ( char *TypeArg){ UINT32 Temp; AcpiUtStrupr (TypeArg); Temp = AcpiDbMatchArgument (TypeArg, AcpiDbTestTypes); if (Temp == ACPI_TYPE_NOT_FOUND) { AcpiOsPrintf ("Invalid or unsupported argument/n"); return; } switch (Temp) { case CMD_TEST_OBJECTS: AcpiDbTestAllObjects (); break; case CMD_TEST_PREDEFINED: AcpiDbEvaluateAllPredefinedNames (NULL); break; default: break; }}
开发者ID:fjdoria76,项目名称:acpica,代码行数:31,
示例3: OpcFindNamestatic BOOLEANOpcFindName ( const char **List, char *Name, UINT32 *Index){ const char *NameString; UINT32 i; AcpiUtStrupr (Name); for (i = 0, NameString = List[0]; NameString; i++, NameString = List[i]) { if (!(strncmp (NameString, Name, strlen (Name)))) { *Index = i; return (TRUE); } } return (FALSE);}
开发者ID:ahs3,项目名称:acpica-tools,代码行数:25,
示例4: AhDisplayDeviceIdsvoidAhDisplayDeviceIds ( char *Name){ const AH_DEVICE_ID *Info; UINT32 Length; BOOLEAN Matched; UINT32 i; BOOLEAN Found = FALSE; /* Null input name indicates "display all" */ if (!Name || (Name[0] == '*')) { printf ("ACPI and PNP Device/Hardware IDs:/n/n"); for (Info = AslDeviceIds; Info->Name; Info++) { printf ("%8s %s/n", Info->Name, Info->Description); } return; } Length = strlen (Name); if (Length > 8) { printf ("%.8s: Hardware ID must be 8 characters maximum/n", Name); return; } /* Find/display all names that match the input name prefix */ AcpiUtStrupr (Name); for (Info = AslDeviceIds; Info->Name; Info++) { Matched = TRUE; for (i = 0; i < Length; i++) { if (Info->Name[i] != Name[i]) { Matched = FALSE; break; } } if (Matched) { Found = TRUE; printf ("%8s %s/n", Info->Name, Info->Description); } } if (!Found) { printf ("%s, Hardware ID not found/n", Name); }}
开发者ID:malattia,项目名称:acpica-tools,代码行数:58,
示例5: AhFindAmlOpcodevoidAhFindAmlOpcode ( char *Name){ const AH_AML_OPCODE *Op; BOOLEAN Found = FALSE; AcpiUtStrupr (Name); /* Find/display all opcode names that match the input name prefix */ for (Op = AmlOpcodeInfo; Op->OpcodeString; Op++) { if (!Op->OpcodeName) /* Unused opcodes */ { continue; } if (!Name) { AhDisplayAmlOpcode (Op); Found = TRUE; continue; } /* Upper case the opcode name before substring compare */ strcpy (Gbl_Buffer, Op->OpcodeName); AcpiUtStrupr (Gbl_Buffer); if (strstr (Gbl_Buffer, Name) == Gbl_Buffer) { AhDisplayAmlOpcode (Op); Found = TRUE; } } if (!Found) { printf ("%s, no matching AML operators/n", Name); }}
开发者ID:benevo,项目名称:acpica,代码行数:43,
示例6: AhFindAslOperatorsUINT32AhFindAslOperators ( char *Name){ const AH_ASL_OPERATOR *Operator; BOOLEAN MatchCount = 0; AcpiUtStrupr (Name); /* Find/display all names that match the input name prefix */ for (Operator = Gbl_AslOperatorInfo; Operator->Name; Operator++) { if (!Name || (Name[0] == '*')) { AhDisplayAslOperator (Operator); MatchCount++; continue; } /* Upper case the operator name before substring compare */ strcpy (Gbl_Buffer, Operator->Name); AcpiUtStrupr (Gbl_Buffer); if (strstr (Gbl_Buffer, Name) == Gbl_Buffer) { AhDisplayAslOperator (Operator); MatchCount++; } } if (!MatchCount) { printf ("%s, no matching ASL operators/n", Name); } return (MatchCount);}
开发者ID:ahs3,项目名称:acpica-tools,代码行数:40,
示例7: AhFindAslKeywordsvoidAhFindAslKeywords ( char *Name){ const AH_ASL_KEYWORD *Keyword; BOOLEAN Found = FALSE; AcpiUtStrupr (Name); for (Keyword = Gbl_AslKeywordInfo; Keyword->Name; Keyword++) { if (!Name || (Name[0] == '*')) { AhDisplayAslKeyword (Keyword); Found = TRUE; continue; } /* Upper case the operator name before substring compare */ strcpy (Gbl_Buffer, Keyword->Name); AcpiUtStrupr (Gbl_Buffer); if (strstr (Gbl_Buffer, Name) == Gbl_Buffer) { AhDisplayAslKeyword (Keyword); Found = TRUE; } } if (!Found) { printf ("%s, no matching ASL keywords/n", Name); }}
开发者ID:ahs3,项目名称:acpica-tools,代码行数:36,
示例8: AcpiDbGetLinestatic UINT32AcpiDbGetLine ( char *InputBuffer){ UINT32 i; UINT32 Count; char *Next; char *This; if (AcpiUtSafeStrcpy (AcpiGbl_DbParsedBuf, sizeof (AcpiGbl_DbParsedBuf), InputBuffer)) { AcpiOsPrintf ( "Buffer overflow while parsing input line (max %u characters)/n", sizeof (AcpiGbl_DbParsedBuf)); return (0); } This = AcpiGbl_DbParsedBuf; for (i = 0; i < ACPI_DEBUGGER_MAX_ARGS; i++) { AcpiGbl_DbArgs[i] = AcpiDbGetNextToken (This, &Next, &AcpiGbl_DbArgTypes[i]); if (!AcpiGbl_DbArgs[i]) { break; } This = Next; } /* Uppercase the actual command */ if (AcpiGbl_DbArgs[0]) { AcpiUtStrupr (AcpiGbl_DbArgs[0]); } Count = i; if (Count) { Count--; /* Number of args only */ } return (Count);}
开发者ID:iHaD,项目名称:DragonFlyBSD,代码行数:47,
示例9: AcpiDbGetLinestatic UINT32AcpiDbGetLine ( char *InputBuffer){ UINT32 i; UINT32 Count; char *Next; char *This; ACPI_STRCPY (AcpiGbl_DbParsedBuf, InputBuffer); This = AcpiGbl_DbParsedBuf; for (i = 0; i < ACPI_DEBUGGER_MAX_ARGS; i++) { AcpiGbl_DbArgs[i] = AcpiDbGetNextToken (This, &Next, &AcpiGbl_DbArgTypes[i]); if (!AcpiGbl_DbArgs[i]) { break; } This = Next; } /* Uppercase the actual command */ if (AcpiGbl_DbArgs[0]) { AcpiUtStrupr (AcpiGbl_DbArgs[0]); } Count = i; if (Count) { Count--; /* Number of args only */ } return (Count);}
开发者ID:RonnieDilli,项目名称:acpica,代码行数:40,
示例10: AcpiDbPrepNamestringvoidAcpiDbPrepNamestring ( char *Name){ if (!Name) { return; } AcpiUtStrupr (Name); /* Convert a leading forward slash to a backslash */ if (*Name == '/') { *Name = '//'; } /* Ignore a leading backslash, this is the root prefix */ if (ACPI_IS_ROOT_PREFIX (*Name)) { Name++; } /* Convert all slash path separators to dots */ while (*Name) { if ((*Name == '/') || (*Name == '//')) { *Name = '.'; } Name++; }}
开发者ID:cloudius-systems,项目名称:acpica,代码行数:39,
示例11: AhFindPredefinedNamesvoidAhFindPredefinedNames ( char *NamePrefix){ UINT32 Length; BOOLEAN Found; char Name[9]; if (!NamePrefix || (NamePrefix[0] == '*')) { Found = AhDisplayPredefinedName (NULL, 0); return; } /* Contruct a local name or name prefix */ AcpiUtStrupr (NamePrefix); if (*NamePrefix == '_') { NamePrefix++; } Name[0] = '_'; AcpiUtSafeStrncpy (&Name[1], NamePrefix, 7); Length = strlen (Name); if (Length > ACPI_NAME_SIZE) { printf ("%.8s: Predefined name must be 4 characters maximum/n", Name); return; } Found = AhDisplayPredefinedName (Name, Length); if (!Found) { printf ("%s, no matching predefined names/n", Name); }}
开发者ID:malattia,项目名称:acpica-tools,代码行数:39,
示例12: AcpiDbDecodeAndDisplayObjectvoidAcpiDbDecodeAndDisplayObject ( char *Target, char *OutputType){ void *ObjPtr; ACPI_NAMESPACE_NODE *Node; ACPI_OPERAND_OBJECT *ObjDesc; UINT32 Display = DB_BYTE_DISPLAY; char Buffer[80]; ACPI_BUFFER RetBuf; ACPI_STATUS Status; UINT32 Size; if (!Target) { return; } /* Decode the output type */ if (OutputType) { AcpiUtStrupr (OutputType); if (OutputType[0] == 'W') { Display = DB_WORD_DISPLAY; } else if (OutputType[0] == 'D') { Display = DB_DWORD_DISPLAY; } else if (OutputType[0] == 'Q') { Display = DB_QWORD_DISPLAY; } } RetBuf.Length = sizeof (Buffer); RetBuf.Pointer = Buffer; /* Differentiate between a number and a name */ if ((Target[0] >= 0x30) && (Target[0] <= 0x39)) { ObjPtr = AcpiDbGetPointer (Target); if (!AcpiOsReadable (ObjPtr, 16)) { AcpiOsPrintf ( "Address %p is invalid in this address space/n", ObjPtr); return; } /* Decode the object type */ switch (ACPI_GET_DESCRIPTOR_TYPE (ObjPtr)) { case ACPI_DESC_TYPE_NAMED: /* This is a namespace Node */ if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_NAMESPACE_NODE))) { AcpiOsPrintf ( "Cannot read entire Named object at address %p/n", ObjPtr); return; } Node = ObjPtr; goto DumpNode; case ACPI_DESC_TYPE_OPERAND: /* This is a ACPI OPERAND OBJECT */ if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_OPERAND_OBJECT))) { AcpiOsPrintf ( "Cannot read entire ACPI object at address %p/n", ObjPtr); return; } AcpiUtDebugDumpBuffer (ObjPtr, sizeof (ACPI_OPERAND_OBJECT), Display, ACPI_UINT32_MAX); AcpiExDumpObjectDescriptor (ObjPtr, 1); break; case ACPI_DESC_TYPE_PARSER: /* This is a Parser Op object */ if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_PARSE_OBJECT))) { AcpiOsPrintf ( "Cannot read entire Parser object at address %p/n", ObjPtr);//.........这里部分代码省略.........
开发者ID:iHaD,项目名称:DragonFlyBSD,代码行数:101,
示例13: EcGpeQueryHandlerstatic voidEcGpeQueryHandler(void *Context){ struct acpi_ec_softc *sc = (struct acpi_ec_softc *)Context; UINT8 Data; ACPI_STATUS Status; int retry, sci_enqueued; char qxx[5]; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); KASSERT(Context != NULL, ("EcGpeQueryHandler called with NULL")); /* Serialize user access with EcSpaceHandler(). */ Status = EcLock(sc); if (ACPI_FAILURE(Status)) { device_printf(sc->ec_dev, "GpeQuery lock error: %s/n", AcpiFormatException(Status)); return; } /* * Send a query command to the EC to find out which _Qxx call it * wants to make. This command clears the SCI bit and also the * interrupt source since we are edge-triggered. To prevent the GPE * that may arise from running the query from causing another query * to be queued, we clear the pending flag only after running it. */ sci_enqueued = sc->ec_sci_pend; for (retry = 0; retry < 2; retry++) { Status = EcCommand(sc, EC_COMMAND_QUERY); if (ACPI_SUCCESS(Status)) break; if (EcCheckStatus(sc, "retr_check", EC_EVENT_INPUT_BUFFER_EMPTY) == AE_OK) continue; else break; } sc->ec_sci_pend = FALSE; if (ACPI_FAILURE(Status)) { EcUnlock(sc); device_printf(sc->ec_dev, "GPE query failed: %s/n", AcpiFormatException(Status)); return; } Data = EC_GET_DATA(sc); /* * We have to unlock before running the _Qxx method below since that * method may attempt to read/write from EC address space, causing * recursive acquisition of the lock. */ EcUnlock(sc); /* Ignore the value for "no outstanding event". (13.3.5) */ if (Data == 0) return; /* Evaluate _Qxx to respond to the controller. */ ksnprintf(qxx, sizeof(qxx), "_Q%02X", Data); AcpiUtStrupr(qxx); Status = AcpiEvaluateObject(sc->ec_handle, qxx, NULL, NULL); if (ACPI_FAILURE(Status) && Status != AE_NOT_FOUND) { device_printf(sc->ec_dev, "evaluation of query method %s failed: %s/n", qxx, AcpiFormatException(Status)); } /* Reenable runtime GPE if its execution was deferred. */ if (sci_enqueued) { Status = AcpiFinishGpe(sc->ec_gpehandle, sc->ec_gpebit); if (ACPI_FAILURE(Status)) device_printf(sc->ec_dev, "reenabling runtime GPE failed: %s/n", AcpiFormatException(Status)); }}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:75,
示例14: DtCreateTemplatesACPI_STATUSDtCreateTemplates ( char *Signature){ ACPI_DMTABLE_DATA *TableData; ACPI_STATUS Status; AslInitializeGlobals (); /* Default (no signature) is DSDT */ if (!Signature) { Signature = "DSDT"; goto GetTemplate; } AcpiUtStrupr (Signature); if (!ACPI_STRCMP (Signature, "ALL") || !ACPI_STRCMP (Signature, "*")) { /* Create all available/known templates */ Status = DtCreateAllTemplates (); return (Status); } /* * Validate signature and get the template data: * 1) Signature must be 4 characters * 2) Signature must be a recognized ACPI table * 3) There must be a template associated with the signature */ if (strlen (Signature) != ACPI_NAME_SIZE) { fprintf (stderr, "%s: Invalid ACPI table signature (length must be 4 characters)/n", Signature); return (AE_ERROR); } /* * Some slack for the two strange tables whose name is different than * their signatures: MADT->APIC and FADT->FACP. */ if (!strcmp (Signature, "MADT")) { Signature = "APIC"; } else if (!strcmp (Signature, "FADT")) { Signature = "FACP"; }GetTemplate: TableData = AcpiDmGetTableData (Signature); if (TableData) { if (!TableData->Template) { fprintf (stderr, "%4.4s: No template available/n", Signature); return (AE_ERROR); } } else if (!AcpiUtIsSpecialTable (Signature)) { fprintf (stderr, "%4.4s: Unrecognized ACPI table signature/n", Signature); return (AE_ERROR); } Status = AdInitialize (); if (ACPI_FAILURE (Status)) { return (Status); } Status = DtCreateOneTemplate (Signature, TableData); return (Status);}
开发者ID:99corps,项目名称:runtime,代码行数:81,
示例15: AcpiDbDisplayInterfacesvoidAcpiDbDisplayInterfaces ( char *ActionArg, char *InterfaceNameArg){ ACPI_INTERFACE_INFO *NextInterface; char *SubString; ACPI_STATUS Status; /* If no arguments, just display current interface list */ if (!ActionArg) { (void) AcpiOsAcquireMutex (AcpiGbl_OsiMutex, ACPI_WAIT_FOREVER); NextInterface = AcpiGbl_SupportedInterfaces; while (NextInterface) { if (!(NextInterface->Flags & ACPI_OSI_INVALID)) { AcpiOsPrintf ("%s/n", NextInterface->Name); } NextInterface = NextInterface->Next; } AcpiOsReleaseMutex (AcpiGbl_OsiMutex); return; } /* If ActionArg exists, so must InterfaceNameArg */ if (!InterfaceNameArg) { AcpiOsPrintf ("Missing Interface Name argument/n"); return; } /* Uppercase the action for match below */ AcpiUtStrupr (ActionArg); /* Install - install an interface */ SubString = ACPI_STRSTR ("INSTALL", ActionArg); if (SubString) { Status = AcpiInstallInterface (InterfaceNameArg); if (ACPI_FAILURE (Status)) { AcpiOsPrintf ("%s, while installing /"%s/"/n", AcpiFormatException (Status), InterfaceNameArg); } return; } /* Remove - remove an interface */ SubString = ACPI_STRSTR ("REMOVE", ActionArg); if (SubString) { Status = AcpiRemoveInterface (InterfaceNameArg); if (ACPI_FAILURE (Status)) { AcpiOsPrintf ("%s, while removing /"%s/"/n", AcpiFormatException (Status), InterfaceNameArg); } return; } /* Invalid ActionArg */ AcpiOsPrintf ("Invalid action argument: %s/n", ActionArg); return;}
开发者ID:dmarion,项目名称:freebsd-armv6-sys,代码行数:77,
示例16: AcpiDbCommandDispatch//.........这里部分代码省略......... case CMD_LIST: AcpiDbDisassembleAml (AcpiGbl_DbArgs[1], Op); break; case CMD_LOCKS: AcpiDbDisplayLocks (); break; case CMD_LOCALS: AcpiDbDisplayLocals (); break; case CMD_METHODS: Status = AcpiDbDisplayObjects ("METHOD", AcpiGbl_DbArgs[1]); break; case CMD_NAMESPACE: AcpiDbDumpNamespace (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_NOTIFY: Temp = strtoul (AcpiGbl_DbArgs[2], NULL, 0); AcpiDbSendNotify (AcpiGbl_DbArgs[1], Temp); break; case CMD_OBJECTS: AcpiUtStrupr (AcpiGbl_DbArgs[1]); Status = AcpiDbDisplayObjects (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_OSI: AcpiDbDisplayInterfaces (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_OWNER: AcpiDbDumpNamespaceByOwner (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_PATHS: AcpiDbDumpNamespacePaths (); break; case CMD_PREFIX: AcpiDbSetScope (AcpiGbl_DbArgs[1]); break; case CMD_REFERENCES: AcpiDbFindReferences (AcpiGbl_DbArgs[1]); break; case CMD_RESOURCES: AcpiDbDisplayResources (AcpiGbl_DbArgs[1]); break;
开发者ID:9elements,项目名称:fwts,代码行数:67,
示例17: ApDumpTableByNameintApDumpTableByName ( char *Signature){ char LocalSignature [ACPI_NAME_SIZE + 1]; UINT32 Instance; ACPI_TABLE_HEADER *Table; ACPI_PHYSICAL_ADDRESS Address; ACPI_STATUS Status; int TableStatus; if (strlen (Signature) != ACPI_NAME_SIZE) { AcpiLogError ( "Invalid table signature [%s]: must be exactly 4 characters/n", Signature); return (-1); } /* Table signatures are expected to be uppercase */ strcpy (LocalSignature, Signature); AcpiUtStrupr (LocalSignature); /* To be friendly, handle tables whose signatures do not match the name */ if (ACPI_COMPARE_NAME (LocalSignature, "FADT")) { strcpy (LocalSignature, ACPI_SIG_FADT); } else if (ACPI_COMPARE_NAME (LocalSignature, "MADT")) { strcpy (LocalSignature, ACPI_SIG_MADT); } /* Dump all instances of this signature (to handle multiple SSDTs) */ for (Instance = 0; Instance < AP_MAX_ACPI_FILES; Instance++) { Status = AcpiOsGetTableByName (LocalSignature, Instance, &Table, &Address); if (ACPI_FAILURE (Status)) { /* AE_LIMIT means that no more tables are available */ if (Status == AE_LIMIT) { return (0); } AcpiLogError ( "Could not get ACPI table with signature [%s], %s/n", LocalSignature, AcpiFormatException (Status)); return (-1); } TableStatus = ApDumpTableBuffer (Table, Instance, Address); ACPI_FREE (Table); if (TableStatus) { break; } } /* Something seriously bad happened if the loop terminates here */ return (-1);}
开发者ID:bininc,项目名称:acpica,代码行数:70,
示例18: AcpiDbCommandDispatch//.........这里部分代码省略......... } break; case CMD_LIST: AcpiDbDisassembleAml (AcpiGbl_DbArgs[1], Op); break; case CMD_LOAD: Status = AcpiDbGetTableFromFile (AcpiGbl_DbArgs[1], NULL); break; case CMD_LOCKS: AcpiDbDisplayLocks (); break; case CMD_LOCALS: AcpiDbDisplayLocals (); break; case CMD_METHODS: Status = AcpiDbDisplayObjects ("METHOD", AcpiGbl_DbArgs[1]); break; case CMD_NAMESPACE: AcpiDbDumpNamespace (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_NOTIFY: Temp = ACPI_STRTOUL (AcpiGbl_DbArgs[2], NULL, 0); AcpiDbSendNotify (AcpiGbl_DbArgs[1], Temp); break; case CMD_OBJECT: AcpiUtStrupr (AcpiGbl_DbArgs[1]); Status = AcpiDbDisplayObjects (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_OPEN: AcpiDbOpenDebugFile (AcpiGbl_DbArgs[1]); break; case CMD_OWNER: AcpiDbDumpNamespaceByOwner (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; case CMD_PREFIX: AcpiDbSetScope (AcpiGbl_DbArgs[1]); break; case CMD_REFERENCES: AcpiDbFindReferences (AcpiGbl_DbArgs[1]); break; case CMD_RESOURCES: AcpiDbDisplayResources (AcpiGbl_DbArgs[1]); break; case CMD_RESULTS: AcpiDbDisplayResults (); break; case CMD_SET: AcpiDbSetMethodData (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2], AcpiGbl_DbArgs[3]); break;
开发者ID:oza,项目名称:FreeBSD-7.3-dyntick,代码行数:66,
示例19: AbExtractAmlFileintAbExtractAmlFile ( char *TableSig, char *File1Path, char *File2Path){ char *Table; char Value; UINT32 i; FILE *FileHandle; FILE *FileOutHandle; UINT32 Count = 0; int Scanned; /* Open in/out files. input is in text mode, output is in binary mode */ FileHandle = fopen (File1Path, "rt"); if (!FileHandle) { printf ("Could not open %s/n", File1Path); return -1; } FileOutHandle = fopen (File2Path, "w+b"); if (!FileOutHandle) { printf ("Could not open %s/n", File2Path); return -1; } /* Force input table sig to uppercase */ AcpiUtStrupr (TableSig); /* TBD: examine input for ASCII */ /* We have an ascii file, grab one line at a time */ while (fgets (Buffer, BUFFER_SIZE, FileHandle)) { /* The 4-char ACPI signature appears at the beginning of a line */ if (!strncmp (Buffer, TableSig, 4)) { printf ("Found table [%4.4s]/n", TableSig); /* * Eat all lines in the table, of the form: * <offset>: <16 bytes of hex data, separated by spaces> <ASCII representation> <newline> * * Example: * * 02C0: 5F 53 42 5F 4C 4E 4B 44 00 12 13 04 0C FF FF 08 _SB_LNKD........ * */ while (fgets (Buffer, BUFFER_SIZE, FileHandle)) { /* Get past the offset, terminated by a colon */ Table = strchr (Buffer, ':'); if (!Table) { /* No colon, all done */ goto Exit; } Table += 2; /* Eat the colon + space */ for (i = 0; i < 16; i++) { Scanned = AbHexByteToBinary (Table, &Value); if (!Scanned) { goto Exit; } Table += 3; /* Go past this hex byte and space */ /* Write the converted (binary) byte */ fwrite (&Value, 1, 1, FileOutHandle); Count++; } } /* No more lines, EOF, all done */ goto Exit; } } /* Searched entire file, no match to table signature */ printf ("Could not match table signature/n"); fclose (FileHandle); return -1;//.........这里部分代码省略.........
开发者ID:minggr,项目名称:acpica,代码行数:101,
示例20: AcpiDbTracevoidAcpiDbTrace ( char *EnableArg, char *MethodArg, char *OnceArg){ UINT32 DebugLevel = 0; UINT32 DebugLayer = 0; UINT32 Flags = 0; if (EnableArg) { AcpiUtStrupr (EnableArg); } if (OnceArg) { AcpiUtStrupr (OnceArg); } if (MethodArg) { if (AcpiDbTraceMethodName) { ACPI_FREE (AcpiDbTraceMethodName); AcpiDbTraceMethodName = NULL; } AcpiDbTraceMethodName = ACPI_ALLOCATE (strlen (MethodArg) + 1); if (!AcpiDbTraceMethodName) { AcpiOsPrintf ("Failed to allocate method name (%s)/n", MethodArg); return; } strcpy (AcpiDbTraceMethodName, MethodArg); } if (!strcmp (EnableArg, "ENABLE") || !strcmp (EnableArg, "METHOD") || !strcmp (EnableArg, "OPCODE")) { if (!strcmp (EnableArg, "ENABLE")) { /* Inherit current console settings */ DebugLevel = AcpiGbl_DbConsoleDebugLevel; DebugLayer = AcpiDbgLayer; } else { /* Restrict console output to trace points only */ DebugLevel = ACPI_LV_TRACE_POINT; DebugLayer = ACPI_EXECUTER; } Flags = ACPI_TRACE_ENABLED; if (!strcmp (EnableArg, "OPCODE")) { Flags |= ACPI_TRACE_OPCODE; } if (OnceArg && !strcmp (OnceArg, "ONCE")) { Flags |= ACPI_TRACE_ONESHOT; } } (void) AcpiDebugTrace (AcpiDbTraceMethodName, DebugLevel, DebugLayer, Flags);}
开发者ID:iHaD,项目名称:DragonFlyBSD,代码行数:75,
示例21: DtCreateTemplatesACPI_STATUSDtCreateTemplates ( char **argv){ char *Signature; char *End; unsigned long TableCount; ACPI_STATUS Status = AE_OK; AslInitializeGlobals (); Status = AdInitialize (); if (ACPI_FAILURE (Status)) { return (Status); } /* * Special cases for DSDT, ALL, and '*' */ /* Default (no signature option) is DSDT */ if (AcpiGbl_Optind < 3) { Status = DtCreateOneTemplateFile (ACPI_SIG_DSDT, 0); goto Exit; } AcpiGbl_Optind--; Signature = argv[AcpiGbl_Optind]; AcpiUtStrupr (Signature); /* * Multiple SSDT support (-T <ssdt count>) */ TableCount = strtoul (Signature, &End, 0); if (Signature != End) { /* The count is used for table ID and method name - max is 254(+1) */ if (TableCount > 254) { fprintf (stderr, "%u SSDTs requested, maximum is 254/n", (unsigned int) TableCount); Status = AE_LIMIT; goto Exit; } Status = DtCreateOneTemplateFile (ACPI_SIG_DSDT, TableCount); goto Exit; } if (!strcmp (Signature, "ALL")) { /* Create all available/known templates */ Status = DtCreateAllTemplates (); goto Exit; } /* * Normal case: Create template for each signature */ while (argv[AcpiGbl_Optind]) { Signature = argv[AcpiGbl_Optind]; AcpiUtStrupr (Signature); Status = DtCreateOneTemplateFile (Signature, 0); if (ACPI_FAILURE (Status)) { goto Exit; } AcpiGbl_Optind++; }Exit: /* Shutdown ACPICA subsystem */ (void) AcpiTerminate (); UtDeleteLocalCaches (); return (Status);}
开发者ID:ahs3,项目名称:acpica-tools,代码行数:88,
示例22: AcpiDbExecutevoidAcpiDbExecute ( char *Name, char **Args, UINT32 Flags){ ACPI_STATUS Status; ACPI_BUFFER ReturnObj; char *NameString;#ifdef ACPI_DEBUG_OUTPUT UINT32 PreviousAllocations; UINT32 Allocations; /* Memory allocation tracking */ PreviousAllocations = AcpiDbGetOutstandingAllocations ();#endif if (*Name == '*') { (void) AcpiWalkNamespace (ACPI_TYPE_METHOD, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbExecutionWalk, NULL, NULL, NULL); return; } else { NameString = ACPI_ALLOCATE (ACPI_STRLEN (Name) + 1); if (!NameString) { return; } ACPI_MEMSET (&AcpiGbl_DbMethodInfo, 0, sizeof (ACPI_DB_METHOD_INFO)); ACPI_STRCPY (NameString, Name); AcpiUtStrupr (NameString); AcpiGbl_DbMethodInfo.Name = NameString; AcpiGbl_DbMethodInfo.Args = Args; AcpiGbl_DbMethodInfo.Flags = Flags; ReturnObj.Pointer = NULL; ReturnObj.Length = ACPI_ALLOCATE_BUFFER; AcpiDbExecuteSetup (&AcpiGbl_DbMethodInfo); Status = AcpiDbExecuteMethod (&AcpiGbl_DbMethodInfo, &ReturnObj); ACPI_FREE (NameString); } /* * Allow any handlers in separate threads to complete. * (Such as Notify handlers invoked from AML executed above). */ AcpiOsSleep ((UINT64) 10);#ifdef ACPI_DEBUG_OUTPUT /* Memory allocation tracking */ Allocations = AcpiDbGetOutstandingAllocations () - PreviousAllocations; AcpiDbSetOutputDestination (ACPI_DB_DUPLICATE_OUTPUT); if (Allocations > 0) { AcpiOsPrintf ("Outstanding: 0x%X allocations after execution/n", Allocations); }#endif if (ACPI_FAILURE (Status)) { AcpiOsPrintf ("Execution of %s failed with status %s/n", AcpiGbl_DbMethodInfo.Pathname, AcpiFormatException (Status)); } else { /* Display a return object, if any */ if (ReturnObj.Length) { AcpiOsPrintf ("Execution of %s returned object %p Buflen %X/n", AcpiGbl_DbMethodInfo.Pathname, ReturnObj.Pointer, (UINT32) ReturnObj.Length); AcpiDbDumpExternalObject (ReturnObj.Pointer, 1); } else { AcpiOsPrintf ("No return object from execution of %s/n", AcpiGbl_DbMethodInfo.Pathname); } } AcpiDbSetOutputDestination (ACPI_DB_CONSOLE_OUTPUT);}
开发者ID:luciang,项目名称:haiku,代码行数:98,
示例23: AcpiDbSetMethodDatavoidAcpiDbSetMethodData ( char *TypeArg, char *IndexArg, char *ValueArg){ char Type; UINT32 Index; UINT32 Value; ACPI_WALK_STATE *WalkState; ACPI_OPERAND_OBJECT *ObjDesc; ACPI_STATUS Status; ACPI_NAMESPACE_NODE *Node; /* Validate TypeArg */ AcpiUtStrupr (TypeArg); Type = TypeArg[0]; if ((Type != 'L') && (Type != 'A') && (Type != 'N')) { AcpiOsPrintf ("Invalid SET operand: %s/n", TypeArg); return; } Value = ACPI_STRTOUL (ValueArg, NULL, 16); if (Type == 'N') { Node = AcpiDbConvertToNode (IndexArg); if (Node->Type != ACPI_TYPE_INTEGER) { AcpiOsPrintf ("Can only set Integer nodes/n"); return; } ObjDesc = Node->Object; ObjDesc->Integer.Value = Value; return; } /* Get the index and value */ Index = ACPI_STRTOUL (IndexArg, NULL, 16); WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList); if (!WalkState) { AcpiOsPrintf ("There is no method currently executing/n"); return; } /* Create and initialize the new object */ ObjDesc = AcpiUtCreateIntegerObject ((UINT64) Value); if (!ObjDesc) { AcpiOsPrintf ("Could not create an internal object/n"); return; } /* Store the new object into the target */ switch (Type) { case 'A': /* Set a method argument */ if (Index > ACPI_METHOD_MAX_ARG) { AcpiOsPrintf ("Arg%u - Invalid argument name/n", Index); goto Cleanup; } Status = AcpiDsStoreObjectToLocal (ACPI_REFCLASS_ARG, Index, ObjDesc, WalkState); if (ACPI_FAILURE (Status)) { goto Cleanup; } ObjDesc = WalkState->Arguments[Index].Object; AcpiOsPrintf ("Arg%u: ", Index); AcpiDmDisplayInternalObject (ObjDesc, WalkState); break; case 'L': /* Set a method local */ if (Index > ACPI_METHOD_MAX_LOCAL) { AcpiOsPrintf ("Local%u - Invalid local variable name/n", Index); goto Cleanup; } Status = AcpiDsStoreObjectToLocal (ACPI_REFCLASS_LOCAL, Index, ObjDesc,//.........这里部分代码省略.........
开发者ID:eyberg,项目名称:rumpkernel-netbsd-src,代码行数:101,
示例24: AcpiDbDisplayStatisticsACPI_STATUSAcpiDbDisplayStatistics ( char *TypeArg){ UINT32 i; UINT32 Temp; if (!TypeArg) { AcpiOsPrintf ("The following subcommands are available:/n ALLOCATIONS, OBJECTS, MEMORY, MISC, SIZES, TABLES/n"); return (AE_OK); } AcpiUtStrupr (TypeArg); Temp = AcpiDbMatchArgument (TypeArg, AcpiDbStatTypes); if (Temp == (UINT32) -1) { AcpiOsPrintf ("Invalid or unsupported argument/n"); return (AE_OK); } switch (Temp) { case CMD_STAT_ALLOCATIONS:#ifdef ACPI_DBG_TRACK_ALLOCATIONS AcpiUtDumpAllocationInfo ();#endif break; case CMD_STAT_TABLES: AcpiOsPrintf ("ACPI Table Information (not implemented):/n/n"); break; case CMD_STAT_OBJECTS: AcpiDbCountNamespaceObjects (); AcpiOsPrintf ("/nObjects defined in the current namespace:/n/n"); AcpiOsPrintf ("%16.16s %10.10s %10.10s/n", "ACPI_TYPE", "NODES", "OBJECTS"); for (i = 0; i < ACPI_TYPE_NS_NODE_MAX; i++) { AcpiOsPrintf ("%16.16s % 10ld% 10ld/n", AcpiUtGetTypeName (i), AcpiGbl_NodeTypeCount [i], AcpiGbl_ObjTypeCount [i]); } AcpiOsPrintf ("%16.16s % 10ld% 10ld/n", "Misc/Unknown", AcpiGbl_NodeTypeCountMisc, AcpiGbl_ObjTypeCountMisc); AcpiOsPrintf ("%16.16s % 10ld% 10ld/n", "TOTALS:", AcpiGbl_NumNodes, AcpiGbl_NumObjects); break; case CMD_STAT_MEMORY:#ifdef ACPI_DBG_TRACK_ALLOCATIONS AcpiOsPrintf ("/n----Object Statistics (all in hex)---------/n"); AcpiDbListInfo (AcpiGbl_GlobalList); AcpiDbListInfo (AcpiGbl_NsNodeList);#endif#ifdef ACPI_USE_LOCAL_CACHE AcpiOsPrintf ("/n----Cache Statistics (all in hex)---------/n"); AcpiDbListInfo (AcpiGbl_OperandCache); AcpiDbListInfo (AcpiGbl_PsNodeCache); AcpiDbListInfo (AcpiGbl_PsNodeExtCache); AcpiDbListInfo (AcpiGbl_StateCache);#endif break; case CMD_STAT_MISC: AcpiOsPrintf ("/nMiscellaneous Statistics:/n/n"); AcpiOsPrintf ("Calls to AcpiPsFind:.. ........% 7ld/n", AcpiGbl_PsFindCount); AcpiOsPrintf ("Calls to AcpiNsLookup:..........% 7ld/n", AcpiGbl_NsLookupCount); AcpiOsPrintf ("/n"); AcpiOsPrintf ("Mutex usage:/n/n"); for (i = 0; i < ACPI_NUM_MUTEX; i++) { AcpiOsPrintf ("%-28s: % 7ld/n", AcpiUtGetMutexName (i), AcpiGbl_MutexInfo[i].UseCount); } break; case CMD_STAT_SIZES: AcpiOsPrintf ("/nInternal object sizes:/n/n");//.........这里部分代码省略.........
开发者ID:apprisi,项目名称:illumos-gate,代码行数:101,
示例25: AcpiDbDisplayHelpstatic voidAcpiDbDisplayHelp ( char *HelpType){ AcpiUtStrupr (HelpType); /* No parameter, just give the overview */ if (!HelpType) { AcpiOsPrintf ("ACPI CA Debugger Commands/n/n"); AcpiOsPrintf ("The following classes of commands are available. Help is available for/n"); AcpiOsPrintf ("each class by entering /"Help <ClassName>/"/n/n"); AcpiOsPrintf (" [GENERAL] General-Purpose Commands/n"); AcpiOsPrintf (" [NAMESPACE] Namespace Access Commands/n"); AcpiOsPrintf (" [METHOD] Control Method Execution Commands/n"); AcpiOsPrintf (" [STATISTICS] Statistical Information/n"); AcpiOsPrintf (" [FILE] File I/O Commands/n"); return; } /* * Parameter is the command class * * The idea here is to keep each class of commands smaller than a screenful */ switch (HelpType[0]) { case 'G': AcpiOsPrintf ("/nGeneral-Purpose Commands/n/n"); AcpiOsPrintf ("Allocations Display list of current memory allocations/n"); AcpiOsPrintf ("Dump <Address>|<Namepath>/n"); AcpiOsPrintf (" [Byte|Word|Dword|Qword] Display ACPI objects or memory/n"); AcpiOsPrintf ("EnableAcpi Enable ACPI (hardware) mode/n"); AcpiOsPrintf ("Help This help screen/n"); AcpiOsPrintf ("History Display command history buffer/n"); AcpiOsPrintf ("Level [<DebugLevel>] [console] Get/Set debug level for file or console/n"); AcpiOsPrintf ("Locks Current status of internal mutexes/n"); AcpiOsPrintf ("Quit or Exit Exit this command/n"); AcpiOsPrintf ("Stats [Allocations|Memory|Misc/n"); AcpiOsPrintf (" |Objects|Sizes|Stack|Tables] Display namespace and memory statistics/n"); AcpiOsPrintf ("Tables Display info about loaded ACPI tables/n"); AcpiOsPrintf ("Unload <TableSig> [Instance] Unload an ACPI table/n"); AcpiOsPrintf ("! <CommandNumber> Execute command from history buffer/n"); AcpiOsPrintf ("!! Execute last command again/n"); return; case 'S': AcpiOsPrintf ("/nStats Subcommands/n/n"); AcpiOsPrintf ("Allocations Display list of current memory allocations/n"); AcpiOsPrintf ("Memory Dump internal memory lists/n"); AcpiOsPrintf ("Misc Namespace search and mutex stats/n"); AcpiOsPrintf ("Objects Summary of namespace objects/n"); AcpiOsPrintf ("Sizes Sizes for each of the internal objects/n"); AcpiOsPrintf ("Stack Display CPU stack usage/n"); AcpiOsPrintf ("Tables Info about current ACPI table(s)/n"); return; case 'N': AcpiOsPrintf ("/nNamespace Access Commands/n/n"); AcpiOsPrintf ("Businfo Display system bus info/n"); AcpiOsPrintf ("Disassemble <Method> Disassemble a control method/n"); AcpiOsPrintf ("Event <F|G> <Value> Generate AcpiEvent (Fixed/GPE)/n"); AcpiOsPrintf ("Find <AcpiName> (? is wildcard) Find ACPI name(s) with wildcards/n"); AcpiOsPrintf ("Gpe <GpeNum> <GpeBlock> Simulate a GPE/n"); AcpiOsPrintf ("Gpes Display info on all GPEs/n"); AcpiOsPrintf ("Integrity Validate namespace integrity/n"); AcpiOsPrintf ("Methods Display list of loaded control methods/n"); AcpiOsPrintf ("Namespace [Object] [Depth] Display loaded namespace tree/subtree/n"); AcpiOsPrintf ("Notify <Object> <Value> Send a notification on Object/n"); AcpiOsPrintf ("Objects <ObjectType> Display all objects of the given type/n"); AcpiOsPrintf ("Owner <OwnerId> [Depth] Display loaded namespace by object owner/n"); AcpiOsPrintf ("Prefix [<NamePath>] Set or Get current execution prefix/n"); AcpiOsPrintf ("References <Addr> Find all references to object at addr/n"); AcpiOsPrintf ("Resources <Device> Get and display Device resources/n"); AcpiOsPrintf ("Set N <NamedObject> <Value> Set value for named integer/n"); AcpiOsPrintf ("Sleep <SleepState> Simulate sleep/wake sequence/n"); AcpiOsPrintf ("Terminate Delete namespace and all internal objects/n"); AcpiOsPrintf ("Type <Object> Display object type/n"); return; case 'M': AcpiOsPrintf ("/nControl Method Execution Commands/n/n"); AcpiOsPrintf ("Arguments (or Args) Display method arguments/n"); AcpiOsPrintf ("Breakpoint <AmlOffset> Set an AML execution breakpoint/n"); AcpiOsPrintf ("Call Run to next control method invocation/n"); AcpiOsPrintf ("Debug <Namepath> [Arguments] Single Step a control method/n"); AcpiOsPrintf ("Execute <Namepath> [Arguments] Execute control method/n"); AcpiOsPrintf ("Go Allow method to run to completion/n"); AcpiOsPrintf ("Information Display info about the current method/n"); AcpiOsPrintf ("Into Step into (not over) a method call/n"); AcpiOsPrintf ("List [# of Aml Opcodes] Display method ASL statements/n"); AcpiOsPrintf ("Locals Display method local variables/n"); AcpiOsPrintf ("Results Display method result stack/n"); AcpiOsPrintf ("Set <A|L> <#> <Value> Set method data (Arguments/Locals)/n"); AcpiOsPrintf ("Stop Terminate control method/n"); AcpiOsPrintf ("Thread <Threads><Loops><NamePath> Spawn threads to execute method(s)/n"); AcpiOsPrintf ("Trace <method name> Trace method execution/n"); AcpiOsPrintf ("Tree Display control method calling tree/n");//.........这里部分代码省略.........
开发者ID:oza,项目名称:FreeBSD-7.3-dyntick,代码行数:101,
示例26: AcpiDbExecutevoidAcpiDbExecute ( char *Name, char **Args, ACPI_OBJECT_TYPE *Types, UINT32 Flags){ ACPI_STATUS Status; ACPI_BUFFER ReturnObj; char *NameString;#ifdef ACPI_DEBUG_OUTPUT UINT32 PreviousAllocations; UINT32 Allocations; /* Memory allocation tracking */ PreviousAllocations = AcpiDbGetOutstandingAllocations ();#endif if (*Name == '*') { (void) AcpiWalkNamespace (ACPI_TYPE_METHOD, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbExecutionWalk, NULL, NULL, NULL); return; } else { NameString = ACPI_ALLOCATE (ACPI_STRLEN (Name) + 1); if (!NameString) { return; } ACPI_MEMSET (&AcpiGbl_DbMethodInfo, 0, sizeof (ACPI_DB_METHOD_INFO)); ACPI_STRCPY (NameString, Name); AcpiUtStrupr (NameString); AcpiGbl_DbMethodInfo.Name = NameString; AcpiGbl_DbMethodInfo.Args = Args; AcpiGbl_DbMethodInfo.Types = Types; AcpiGbl_DbMethodInfo.Flags = Flags; ReturnObj.Pointer = NULL; ReturnObj.Length = ACPI_ALLOCATE_BUFFER; Status = AcpiDbExecuteSetup (&AcpiGbl_DbMethodInfo); if (ACPI_FAILURE (Status)) { ACPI_FREE (NameString); return; } /* Get the NS node, determines existence also */ Status = AcpiGetHandle (NULL, AcpiGbl_DbMethodInfo.Pathname, &AcpiGbl_DbMethodInfo.Method); if (ACPI_SUCCESS (Status)) { Status = AcpiDbExecuteMethod (&AcpiGbl_DbMethodInfo, &ReturnObj); } ACPI_FREE (NameString); } /* * Allow any handlers in separate threads to complete. * (Such as Notify handlers invoked from AML executed above). */ AcpiOsSleep ((UINT64) 10);#ifdef ACPI_DEBUG_OUTPUT /* Memory allocation tracking */ Allocations = AcpiDbGetOutstandingAllocations () - PreviousAllocations; AcpiDbSetOutputDestination (ACPI_DB_DUPLICATE_OUTPUT); if (Allocations > 0) { AcpiOsPrintf ("0x%X Outstanding allocations after evaluation of %s/n", Allocations, AcpiGbl_DbMethodInfo.Pathname); }#endif if (ACPI_FAILURE (Status)) { AcpiOsPrintf ("Evaluation of %s failed with status %s/n", AcpiGbl_DbMethodInfo.Pathname, AcpiFormatException (Status)); } else { /* Display a return object, if any */ if (ReturnObj.Length) { AcpiOsPrintf ( "Evaluation of %s returned object %p, external buffer length %X/n",//.........这里部分代码省略.........
开发者ID:Lxg1582,项目名称:freebsd,代码行数:101,
示例27: AxExtractTablesintAxExtractTables ( char *InputPathname, char *Signature, unsigned int MinimumInstances){ FILE *InputFile; FILE *OutputFile = NULL; unsigned int BytesConverted; unsigned int ThisTableBytesWritten = 0; unsigned int FoundTable = 0; unsigned int Instances = 0; unsigned int ThisInstance; char ThisSignature[5]; char UpperSignature[5]; int Status = 0; unsigned int State = AX_STATE_FIND_HEADER; /* Open input in text mode, output is in binary mode */ InputFile = fopen (InputPathname, "rt"); if (!InputFile) { printf ("Could not open input file %s/n", InputPathname); return (-1); } if (!AxIsFileAscii (InputFile)) { fclose (InputFile); return (-1); } if (Signature) { strncpy (UpperSignature, Signature, 4); UpperSignature[4] = 0; AcpiUtStrupr (UpperSignature); /* Are there enough instances of the table to continue? */ AxNormalizeSignature (UpperSignature); Instances = AxCountTableInstances (InputPathname, UpperSignature); if (Instances < MinimumInstances) { printf ("Table [%s] was not found in %s/n", UpperSignature, InputPathname); fclose (InputFile); return (-1); } if (Instances == 0) { fclose (InputFile); return (-1); } } /* Convert all instances of the table to binary */ while (fgets (Gbl_LineBuffer, AX_LINE_BUFFER_SIZE, InputFile)) { switch (State) { case AX_STATE_FIND_HEADER: if (!AxIsDataBlockHeader ()) { continue; } ACPI_MOVE_NAME (ThisSignature, Gbl_LineBuffer); if (Signature) { /* Ignore signatures that don't match */ if (!ACPI_COMPARE_NAME (ThisSignature, UpperSignature)) { continue; } } /* * Get the instance number for this signature. Only the * SSDT and PSDT tables can have multiple instances. */ ThisInstance = AxGetNextInstance (InputPathname, ThisSignature); /* Build an output filename and create/open the output file */ if (ThisInstance > 0) { /* Add instance number to the output filename */ sprintf (Gbl_OutputFilename, "%4.4s%u.dat", ThisSignature, ThisInstance); } else//.........这里部分代码省略.........
开发者ID:Raphine,项目名称:Raph_Kernel,代码行数:101,
注:本文中的AcpiUtStrupr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ AcpiWalkNamespace函数代码示例 C++ AcpiUtReleaseMutex函数代码示例 |