質問

開発時のモジュール(デバイスドライバー、ミドルウェアなど)を実行するにはカーネル空間モデルを構築したいと思います。一部に取り込むことができた理由に操作が失敗する場合があります。

にVxWorksのerrno機構そういう関係ではないかと思います。

はいを定義することができ、自分のerrnoます。

役に立ちましたか?

解決

このVxWorks errnoに定義される二つの16ビット:

  • 上位16ビットの識別に"モジュール"の誤りが発生しました。
  • 下位16ビットの特定のエラーがモジュールです。

公式vxWorksのモジュール値(errno)にあり../h/vwModNum.hファイルです。いましたが、現在使用している数百す。これらのモジュール番号の形態

#define M_something   (nn <<  16)

であ 強く 落胆さを変更するこの(または)vxWorksのヘッダファイルです。

なにができるのかは自分でモジュールのヘッダファイルを開始で十分大きな数にすることがあります。

/* myModNum.h */
#define M_MyModule     (10000 << 16)
#define M_MyNextModule (10001 << 16)
...

の個々のモジュールのヘッダファイルを作成したものを個人のerrno値です。

/* myModule.h */
#define S_MyModule_OutOfResources (M_MyModule | 1)
#define S_MyModule_InvalidHandle  (M_MyModule | 2)
...

コードで設定しerrnoを定義のをクリックします。

他のヒント

Errnoだけの番号と機能strerror()を返しを記述します。したい場合は延長で提供する独自の機能と類似strerror()を見込エラーリストまたは委譲strerror().

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top