#ifndef _EFI_PCI_RESOURCE_SUPPORT_H\r
#define _EFI_PCI_RESOURCE_SUPPORT_H\r
\r
-#define RESERVED_RESOURCE_SIGNATURE EFI_SIGNATURE_32 ('r', 's', 'v', 'd')\r
+#define RESERVED_RESOURCE_SIGNATURE SIGNATURE_32 ('r', 's', 'v', 'd')\r
\r
typedef struct {\r
UINT64 Base;\r
PciResUsageOptionRomProcessing\r
} PCI_RESOURCE_USAGE;\r
\r
-#define PCI_RESOURCE_SIGNATURE EFI_SIGNATURE_32 ('p', 'c', 'r', 'c')\r
+#define PCI_RESOURCE_SIGNATURE SIGNATURE_32 ('p', 'c', 'r', 'c')\r
\r
typedef struct {\r
UINT32 Signature;\r
#define RESOURCE_NODE_FROM_LINK(a) \\r
CR (a, PCI_RESOURCE_NODE, Link, PCI_RESOURCE_SIGNATURE)\r
\r
+/**\r
+ The function is used to skip VGA range\r
+ \r
+ @param Start address including VGA range\r
+ @param Length length of VGA range.\r
+ \r
+ @retval EFI_SUCCESS success\r
+**/\r
EFI_STATUS\r
SkipVGAAperture (\r
OUT UINT64 *Start,\r
IN UINT64 Length\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Start - TODO: add argument description\r
- Length - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ This function is used to skip ISA aliasing aperture\r
+ \r
+ @param Start address including ISA aliasing aperture\r
+ @param Length length of ISA aliasing aperture\r
+ \r
+ @retval EFI_SUCCESS success\r
**/\r
-;\r
-\r
EFI_STATUS\r
SkipIsaAliasAperture (\r
OUT UINT64 *Start,\r
IN UINT64 Length\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ );\r
\r
-Arguments:\r
-\r
- Start - TODO: add argument description\r
- Length - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+/**\r
+ This function inserts a resource node into the resource list.\r
+ The resource list is sorted in descend order.\r
\r
+ @param Bridge PCI resource node for bridge\r
+ @param ResNode Resource node want to be inserted\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
InsertResourceNode (\r
PCI_RESOURCE_NODE *Bridge,\r
PCI_RESOURCE_NODE *ResNode\r
- )\r
+ );\r
+\r
/**\r
\r
Routine Description:\r
\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
- ResNode - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
+ This routine is used to merge two different resource tree in need of\r
+ resoure degradation. For example, if a upstream PPB doesn't support,\r
+ prefetchable memory decoding, the PCI bus driver will choose to call this function\r
+ to merge prefectchable memory resource list into normal memory list.\r
+\r
+ If the TypeMerge is TRUE, Res resource type is changed to the type of destination resource\r
+ type.\r
+\r
+ @param Dst Point to destination resource tree\r
+ @param Res Point to source resource tree\r
+ @param TypeMerge If the TypeMerge is TRUE, Res resource type is changed to the type of \r
+ destination resource type.\r
+ \r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
MergeResourceTree (\r
PCI_RESOURCE_NODE *Dst,\r
PCI_RESOURCE_NODE *Res,\r
BOOLEAN TypeMerge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ );\r
\r
-Arguments:\r
-\r
- Dst - TODO: add argument description\r
- Res - TODO: add argument description\r
- TypeMerge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+/**\r
+ This function is used to calculate the IO16 aperture\r
+ for a bridge.\r
\r
+ @param Bridge PCI resource node for bridge.\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
CalculateApertureIo16 (\r
IN PCI_RESOURCE_NODE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
+ );\r
\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+/**\r
+ This function is used to calculate the resource aperture\r
+ for a given bridge device\r
\r
+ @param Bridge Give bridge device\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
CalculateResourceAperture (\r
IN PCI_RESOURCE_NODE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Get IO/Memory resource infor for given PCI device\r
+ \r
+ @param PciDev Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
GetResourceFromDevice (\r
PCI_IO_DEVICE *PciDev,\r
PCI_RESOURCE_NODE *PMem32Node,\r
PCI_RESOURCE_NODE *Mem64Node,\r
PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDev - TODO: add argument description\r
- IoNode - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ This function is used to create a resource node\r
+\r
+ @param PciDev Pci device instance\r
+ @param Length Length of Io/Memory resource\r
+ @param Alignment Alignment of resource\r
+ @param Bar Bar index \r
+ @param ResType Type of resource: IO/Memory\r
+ @param ResUage Resource usage\r
**/\r
-;\r
-\r
PCI_RESOURCE_NODE *\r
CreateResourceNode (\r
IN PCI_IO_DEVICE *PciDev,\r
IN UINT8 Bar,\r
IN PCI_BAR_TYPE ResType,\r
IN PCI_RESOURCE_USAGE ResUsage\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- PciDev - TODO: add argument description\r
- Length - TODO: add argument description\r
- Alignment - TODO: add argument description\r
- Bar - TODO: add argument description\r
- ResType - TODO: add argument description\r
- ResUsage - TODO: add argument description\r
-\r
-Returns:\r
+/**\r
+ This routine is used to extract resource request from\r
+ device node list.\r
\r
- TODO: add return values\r
+ @param Bridge Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
\r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
CreateResourceMap (\r
IN PCI_IO_DEVICE *Bridge,\r
IN PCI_RESOURCE_NODE *PMem32Node,\r
IN PCI_RESOURCE_NODE *Mem64Node,\r
IN PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- Bridge - TODO: add argument description\r
- IoNode - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
-\r
-Returns:\r
+/**\r
+ This function is used to do the resource padding for a specific platform\r
\r
- TODO: add return values\r
+ @param Bridge Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
\r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ResourcePaddingPolicy (\r
PCI_IO_DEVICE *PciDev,\r
PCI_RESOURCE_NODE *PMem32Node,\r
PCI_RESOURCE_NODE *Mem64Node,\r
PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDev - TODO: add argument description\r
- IoNode - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ This function is used to degrade resource if the upstream bridge \r
+ doesn't support certain resource. Degradation path is \r
+ PMEM64 -> MEM64 -> MEM32\r
+ PMEM64 -> PMEM32 -> MEM32\r
+ IO32 -> IO16\r
+\r
+ @param Bridge Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
+\r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
DegradeResource (\r
IN PCI_IO_DEVICE *Bridge,\r
IN PCI_RESOURCE_NODE *PMem32Node,\r
IN PCI_RESOURCE_NODE *Mem64Node,\r
IN PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Test whether bridge device support decode resource\r
+ \r
+ @param Bridge Bridge device instance\r
+ @param Decode Decode type according to resource type\r
+ \r
+ @return whether bridge device support decode resource\r
+ \r
**/\r
-;\r
-\r
BOOLEAN\r
BridgeSupportResourceDecode (\r
IN PCI_IO_DEVICE *Bridge,\r
IN UINT32 Decode\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
- Decode - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ This function is used to program the resource allocated \r
+ for each resource node\r
+\r
+ \r
+ @param Base Base address of resource\r
+ @param Bridge Bridge device instance\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ProgramResource (\r
IN UINT64 Base,\r
IN PCI_RESOURCE_NODE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Base - TODO: add argument description\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Program Bar register.\r
+ \r
+ @param Base Base address for resource\r
+ @param Node Point to resoure node structure\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ProgramBar (\r
IN UINT64 Base,\r
IN PCI_RESOURCE_NODE *Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Base - TODO: add argument description\r
- Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Program PPB apperture\r
+ \r
+ @param Base Base address for resource\r
+ @param Node Point to resoure node structure\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ProgramPpbApperture (\r
IN UINT64 Base,\r
IN PCI_RESOURCE_NODE *Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Base - TODO: add argument description\r
- Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Program parent bridge for oprom\r
+ \r
+ @param PciDevice Pci deivce instance\r
+ @param OptionRomBase Base address for oprom\r
+ @param Enable Enable/Disable\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ProgrameUpstreamBridgeForRom (\r
IN PCI_IO_DEVICE *PciDevice,\r
IN UINT32 OptionRomBase,\r
IN BOOLEAN Enable\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDevice - TODO: add argument description\r
- OptionRomBase - TODO: add argument description\r
- Enable - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Test whether resource exists for a bridge\r
+ \r
+ @param Bridge Point to resource node for a bridge \r
+ \r
+ @return whether resource exists\r
**/\r
-;\r
-\r
BOOLEAN\r
ResourceRequestExisted (\r
IN PCI_RESOURCE_NODE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Initialize resource pool structure.\r
+ \r
+ @param ResourcePool Point to resource pool structure\r
+ @param ResourceType Type of resource\r
**/\r
-;\r
-\r
EFI_STATUS\r
InitializeResourcePool (\r
PCI_RESOURCE_NODE *ResourcePool,\r
PCI_BAR_TYPE ResourceType\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- ResourcePool - TODO: add argument description\r
- ResourceType - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Get all resource information for given Pci device\r
+ \r
+ @param PciDev Pci device instance\r
+ @param IoBridge Io resource node\r
+ @param Mem32Bridge 32-bit memory node\r
+ @param PMem32Bridge 32-bit Pmemory node\r
+ @param Mem64Bridge 64-bit memory node\r
+ @param PMem64Bridge 64-bit PMemory node\r
+ @param IoPool Link list header for Io resource\r
+ @param Mem32Pool Link list header for 32-bit memory\r
+ @param PMem32Pool Link list header for 32-bit Pmemory\r
+ @param Mem64Pool Link list header for 64-bit memory\r
+ @param PMem64Pool Link list header for 64-bit Pmemory\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
GetResourceMap (\r
PCI_IO_DEVICE *PciDev,\r
PCI_RESOURCE_NODE *PMem32Pool,\r
PCI_RESOURCE_NODE *Mem64Pool,\r
PCI_RESOURCE_NODE *PMem64Pool\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDev - TODO: add argument description\r
- IoBridge - TODO: add argument description\r
- Mem32Bridge - TODO: add argument description\r
- PMem32Bridge - TODO: add argument description\r
- Mem64Bridge - TODO: add argument description\r
- PMem64Bridge - TODO: add argument description\r
- IoPool - TODO: add argument description\r
- Mem32Pool - TODO: add argument description\r
- PMem32Pool - TODO: add argument description\r
- Mem64Pool - TODO: add argument description\r
- PMem64Pool - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Destory given resource tree\r
+ \r
+ @param Bridge root node of resource tree\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
DestroyResourceTree (\r
IN PCI_RESOURCE_NODE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Record the reserved resource and insert to reserved list.\r
+ \r
+ @param Base Base address of reserved resourse\r
+ @param Length Length of reserved resource \r
+ @param ResType Resource type\r
+ @param Bridge Pci device instance\r
**/\r
-;\r
-\r
EFI_STATUS\r
RecordReservedResource (\r
IN UINT64 Base,\r
IN UINT64 Length,\r
IN PCI_BAR_TYPE ResType,\r
IN PCI_IO_DEVICE *Bridge\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Base - TODO: add argument description\r
- Length - TODO: add argument description\r
- ResType - TODO: add argument description\r
- Bridge - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Insert resource padding for P2C\r
+ \r
+ @param PciDev Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ResourcePaddingForCardBusBridge (\r
PCI_IO_DEVICE *PciDev,\r
PCI_RESOURCE_NODE *PMem32Node,\r
PCI_RESOURCE_NODE *Mem64Node,\r
PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDev - TODO: add argument description\r
- IoNode - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Program P2C register for given resource node\r
+ \r
+ @param Base Base address of P2C device\r
+ @param Node Given resource node.\r
+ \r
+ @retval EFI_SUCCESS Success\r
**/\r
-;\r
-\r
EFI_STATUS\r
ProgramP2C (\r
IN UINT64 Base,\r
IN PCI_RESOURCE_NODE *Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Base - TODO: add argument description\r
- Node - TODO: add argument description\r
-\r
-Returns:\r
+ );\r
\r
- TODO: add return values\r
+/**\r
+ Create padding resource node.\r
+ \r
+ @param PciDev Pci device instance\r
+ @param IoNode Resource info node for IO \r
+ @param Mem32Node Resource info node for 32-bit memory\r
+ @param PMem32Node Resource info node for 32-bit PMemory\r
+ @param Mem64Node Resource info node for 64-bit memory\r
+ @param PMem64Node Resource info node for 64-bit PMemory\r
+ \r
+ @retval EFI_SUCCESS Success\r
\r
**/\r
-;\r
-\r
EFI_STATUS\r
ApplyResourcePadding (\r
PCI_IO_DEVICE *PciDev,\r
PCI_RESOURCE_NODE *PMem32Node,\r
PCI_RESOURCE_NODE *Mem64Node,\r
PCI_RESOURCE_NODE *PMem64Node\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciDev - TODO: add argument description\r
- IoNode - TODO: add argument description\r
- Mem32Node - TODO: add argument description\r
- PMem32Node - TODO: add argument description\r
- Mem64Node - TODO: add argument description\r
- PMem64Node - TODO: add argument description\r
+ );\r
\r
-Returns:\r
-\r
- TODO: add return values\r
+/**\r
+ Get padding resource for PPB\r
+ Light PCI bus driver woundn't support hotplug root device\r
+ So no need to pad resource for them\r
\r
+ @param PciIoDevice Pci device instance\r
**/\r
-;\r
-\r
VOID\r
GetResourcePaddingPpb (\r
IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciIoDevice - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
+ );\r
\r
+/**\r
+ Reset and all bus number from specific bridge.\r
+ \r
+ @param Bridge Parent specific bridge\r
+ @param StartBusNumber start bus number\r
**/\r
-;\r
-\r
EFI_STATUS\r
ResetAllPpbBusNumber (\r
IN PCI_IO_DEVICE *Bridge,\r
IN UINT8 StartBusNumber\r
- )\r
-/**\r
-\r
-Routine Description:\r
-\r
- Reset bus register\r
-\r
-Arguments:\r
-\r
- Bridge - a pointer to the PCI_IO_DEVICE\r
- StartBusNumber - the number of bus\r
-\r
-Returns:\r
-\r
- None\r
-\r
-**/\r
-;\r
+ );\r
\r
#endif\r