/// Tuning
String-Int GetNumTuners();
String-ServiceIndex GetTunerServiceIndex(TunerIndex);
String-Int GetNumServices();
String-ServiceInfo GetServiceInfo(ServiceIndex);
String-ServiceName GetServiceName(ServiceIndex);
String-Boolean ServiceSelectByIndex(TunerIndex, ServiceIndex);
String-Boolean ServiceSelectByInfo(TunerIndex, ServiceInfo);
String-Boolean ServiceSelectByName(TunerIndex, ServiceName);
// TSB
String-Boolean TsbControl(TunerIndex, Enable/Disable);
String-Boolean IsTsbEnabled(TunerIndex);
String-Boolean CheckDiskSpace(Space);
String-LongLong GetDiskSpace();
/// DVR Local Playback
String-PlaybackIndex DvrPlayback(RecordingIndex, Duration, Delay, Remote);
String-Boolean DvrPlaybackStop(PlaybackIndex);
String-Float GetDvrPlaybackRate(PlaybackIndex);
String-Boolean SetDvrPlaybackRate(PlaybackIndex, RateIndex);
String-Time GetDvrPlaybackPosition(PlaybackIndex);
String-Boolean SetDvrPlaybackPosition(PlaybackIndex, Time);
String-Float GetDvrPlayRate(RateIndex);
String-Int GetDvrPlayRateIndex(Rate);
/// Recording
String-RecordingIndex RecordTuner(TunerIndex, Duration, Delay, Background, Remote);
String-RecordingIndex RecordService(ServiceIndex, Duration, Delay, Background, Remote);
String-RecordingState WaitForRecordingState(RecordingIndex, State);
String-RecordingState RecordingStop(RecordingIndex, State);
String-Int GetNumRecordings();
String-RecordingInfo GetRecordingInfo(RecordingIndex);
String-RecordingState GetRecordingState(RecordingIndex);
String-Time GetRecordingDuration(RecordingIndex);
String-Boolean DeleteAllRecordings();
/// HN General Functions
?-? HNGetAllMediaServersOnNetwork();
?-? HNGetAllDeviceOnNetwork()
?-? HNChangeFriendlyName(NewName)
?-? HNChangeUDN(NewUDN)
?-? HNSendRootDeviceByeBye()
?-? HNSendRootDeviceAlive()
?-? HNFindLocalMediaServer()
?-? HNGetNetworkInterfaces()
/// HN Media Server
String-Boolean PublishRecording(RecordingIndex);
String-Boolean PublishAllRecordings();
String-Boolean PublishService(ServiceIndex);
String-Boolean PublishAllServices();
?-? PublishServiceUsingAltRes(ServiceIndex, ?);
?-? PublishAllServicesUsingAltRes(?)
?-? PublishPersonalContentFileToCDS(????)
/// HN Player
String-PlaybackIndex HNPlaybackSelectServer(PlaybackIndex);
?-? HNPlaybackBrowseContentItems(BrowseCriteria)
String-PlaybackIndex HNPlaybackCreatePlayer(PlayerType, ContentItem);
String-PlaybackIndex HNPlaybackStart(PlaybackIndex, ContentItem?);
String-Boolean HNPlaybackStop(PlaybackIndex);
String-Float GetHNPlaybackRate(PlaybackIndex);
String-Boolean SetHNPlaybackRate(PlaybackIndex, RateIndex);
String-Time GetHNPlaybackPosition(PlaybackIndex);
/// Resource Contention Handling
??? What is needed here