我想從單聲道使用文件io函數(打開,讀取,寫入)和僞終端(http://linux.die.net/man/4/pts)函數(grantpt,unlockpt,ptsname)。翻譯參數和返回值是微不足道的(如果你可以驗證它們,我將不勝感激),但是我找不到相應的圖書館。聲明的文件io和僞終端p/invoke
我的Linux發行版是Arch Linux on ARM(Raspberry PI)。由於ARM平臺只有32位,我可以使用int32作爲int/size_t等。
非常感謝。
internal class LinuxNativeMethods
{
//int open(const char *pathname, int flags);
[DllImport("??.so")]
internal extern int open(string name, int flags);
//ssize_t read(int fd, void *buf, size_t count);
[DllImport("??.so")]
internal extern int read(int fd, byte[] buffer, int length);
//ssize_t write(int fd, const void *buf, size_t count);
[DllImport("??.so")]
internal extern int write(int fd, byte[] buffer, int length);
//int grantpt(int fd);
[DllImport("??.so")]
internal extern int grantpt(int fd);
//int unlockpt(int fd);
[DllImport("??.so")]
internal extern int unlockpt(int fd);
//i later marshall the pointer to a string
//char *ptsname(int fd);
[DllImport("??.so")]
internal extern IntPtr ptsname(int fd);
}
你的問題是如何與PInvoke的?你只是不知道庫名稱,這與P/Invoke無關。 – antonijn 2013-04-09 11:03:03