ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

BOOLEAN RosSymGetAddressInformation ( PROSSYM_INFO  RosSymInfo,
ULONG_PTR  RelativeAddress,
ULONG LineNumber,
char FileName,
char FunctionName 
)

Definition at line 94 of file find.c.

Referenced by KdbSymGetAddressInformation().

{
  PROSSYM_ENTRY RosSymEntry;

  DPRINT("RelativeAddress = 0x%08x\n", RelativeAddress);

  if (RosSymInfo->Symbols == NULL || RosSymInfo->SymbolsCount == 0 ||
      RosSymInfo->Strings == NULL || RosSymInfo->StringsLength == 0)
    {
      DPRINT1("Uninitialized RosSymInfo\n");
      return FALSE;
    }

  ASSERT(LineNumber || FileName || FunctionName);

  /* find symbol entry for function */
  RosSymEntry = FindEntry(RosSymInfo, RelativeAddress);

  if (NULL == RosSymEntry)
    {
      DPRINT("None of the requested information was found!\n");
      return FALSE;
    }

  if (LineNumber != NULL)
    {
      *LineNumber = RosSymEntry->SourceLine;
    }
  if (FileName != NULL)
    {
      PCSTR Name = "";
      if (RosSymEntry->FileOffset != 0)
        {
          Name = (PCHAR) RosSymInfo->Strings + RosSymEntry->FileOffset;
        }
      strcpy(FileName, Name);
    }
  if (FunctionName != NULL)
    {
      PCSTR Name = "";
      if (RosSymEntry->FunctionOffset != 0)
        {
          Name = (PCHAR) RosSymInfo->Strings + RosSymEntry->FunctionOffset;
        }
      strcpy(FunctionName, Name);
    }

  return TRUE;
}

Generated on Sun May 27 2012 04:39:56 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.