| PMOPENDEVICE(3) | PMOPENDEVICE(3) | 
int pmOpenDevice(char *type, int argc, char **argv, pmDevice **pmdp);
| char * | type | デバイスタイプ | |
| int | argc | 随意の引数の数 | |
| char ** | argv | 随意の引数の配列 | |
| pmDevice ** | pmdp | pmDeviceオブジェクト | 
pmOpenDevice() は type で指定された PM デバイスを開き、pmDevice オブジェクトを返します。
| -config | filename | 構成ファイル名: デバイスが構成ファイルを必要とする場合 | 
| -firmware | filename | ファームウェア ファイル名: デバイスがファームウェア ファイルを必要とする場合 | 
| -agent | agentname | エージェント名: type が PM_AGENT だった場合、エージェントの種類を指定するために、この引数が必須となります。現在のところ、この引数に指定できるのは、UDP による通信を行うエージェントである "pmaudp" のみです | 
| -trunk: | filename | このオプションはPM/Ethernetでのみ有効です。Trunk_numでトランク番号(0,1,2...)を指定し、config_file がそのトランクで利 用するネットワークコンフィギュレーションに使用されます。 | 
全てのオプション文字列は pmOpenDevice() でのみ有効です。
int open_device(int argc, char **argv, pmDevice **pmdp);
新しいデバイスオブジェクトは INIT_DEVICE マクロによって初期化されなければなりません。
| PM_SUCCESS | 成功 | 
| ENODEV | そのようなデバイスはありません。 | 
| EINVAL | 無効な引数です。 | 
| EIO | デバイスの初期化でエラーが発生しました。 | 
| ENOMEM | メモリが足りません。 |