{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/corefx/issues/815","labels_url":"https://api.github.com/repos/dotnet/corefx/issues/815/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/815/comments","events_url":"https://api.github.com/repos/dotnet/corefx/issues/815/events","html_url":"https://github.com/dotnet/corefx/issues/815","id":58086367,"number":815,"title":"Implement System.IO.FileSystem.DriveInfo for Mac","user":{"login":"stephentoub","id":2642209,"avatar_url":"https://avatars.githubusercontent.com/u/2642209?v=3","gravatar_id":"","url":"https://api.github.com/users/stephentoub","html_url":"https://github.com/stephentoub","followers_url":"https://api.github.com/users/stephentoub/followers","following_url":"https://api.github.com/users/stephentoub/following{/other_user}","gists_url":"https://api.github.com/users/stephentoub/gists{/gist_id}","starred_url":"https://api.github.com/users/stephentoub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephentoub/subscriptions","organizations_url":"https://api.github.com/users/stephentoub/orgs","repos_url":"https://api.github.com/users/stephentoub/repos","events_url":"https://api.github.com/users/stephentoub/events{/privacy}","received_events_url":"https://api.github.com/users/stephentoub/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/corefx/labels/feature%20approved","name":"feature approved","color":"159818"},{"url":"https://api.github.com/repos/dotnet/corefx/labels/X-Plat","name":"X-Plat","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"stephentoub","id":2642209,"avatar_url":"https://avatars.githubusercontent.com/u/2642209?v=3","gravatar_id":"","url":"https://api.github.com/users/stephentoub","html_url":"https://github.com/stephentoub","followers_url":"https://api.github.com/users/stephentoub/followers","following_url":"https://api.github.com/users/stephentoub/following{/other_user}","gists_url":"https://api.github.com/users/stephentoub/gists{/gist_id}","starred_url":"https://api.github.com/users/stephentoub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephentoub/subscriptions","organizations_url":"https://api.github.com/users/stephentoub/orgs","repos_url":"https://api.github.com/users/stephentoub/repos","events_url":"https://api.github.com/users/stephentoub/events{/privacy}","received_events_url":"https://api.github.com/users/stephentoub/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-02-18T15:58:04Z","updated_at":"2015-06-20T21:53:25Z","closed_at":null,"body":"The current implementation of System.IO.FileSystem.DriveInfo on Linux uses getmntent_r and friends for accessing file system descriptions, and to my knowledge those APIs don't exist on OS X."},"comment":{"url":"https://api.github.com/repos/dotnet/corefx/issues/comments/113824921","html_url":"https://github.com/dotnet/corefx/issues/815#issuecomment-113824921","issue_url":"https://api.github.com/repos/dotnet/corefx/issues/815","id":113824921,"user":{"login":"jasonwilliams200OK","id":2031765,"avatar_url":"https://avatars.githubusercontent.com/u/2031765?v=3","gravatar_id":"","url":"https://api.github.com/users/jasonwilliams200OK","html_url":"https://github.com/jasonwilliams200OK","followers_url":"https://api.github.com/users/jasonwilliams200OK/followers","following_url":"https://api.github.com/users/jasonwilliams200OK/following{/other_user}","gists_url":"https://api.github.com/users/jasonwilliams200OK/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonwilliams200OK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonwilliams200OK/subscriptions","organizations_url":"https://api.github.com/users/jasonwilliams200OK/orgs","repos_url":"https://api.github.com/users/jasonwilliams200OK/repos","events_url":"https://api.github.com/users/jasonwilliams200OK/events{/privacy}","received_events_url":"https://api.github.com/users/jasonwilliams200OK/received_events","type":"User","site_admin":false},"created_at":"2015-06-20T21:53:25Z","updated_at":"2015-06-20T21:53:25Z","body":"Based on chat with @milizhang, @janhenke, @ghuntley and @saper at https://gitter.im/dotnet/coreclr, for OSX we can specialize it using:\r\n\r\n```c++\r\n<CoreFoundation/CoreFoundation.h>\r\n<DiskArbitration/DADisk.h>\r\n<DiskArbitration/DADissenter.h>\r\n<DiskArbitration/DASession.h>\r\n```\r\n\r\nhttps://developer.apple.com/library/mac/documentation/DiskArbitration/Reference/DiskArbitration_header_reference/index.html (since Disk Arbitration is a framework, `-framework DiskArbitration` linker switch would be required: http://stackoverflow.com/a/29159116)\r\n\r\nOR we can use `#include <sys/statvfs.h>` for all Unices to extend the support to FreeBSD and make Linux leverage the same implementation, as statvfs is POSIX standard. Not sure if statvfs will provide all the required functionality. If there is something missing from statvfs, we can create OS-specific partials for those methods."}}