SSブログ

SilentCの関数一覧表 (1) [ColdFire V2]このエントリーを含むはてなブックマーク#

1990557

SilentCの関数一覧表を作成しました。

SilentC 関数一覧表
関数名返り値
char *MemoryAlloc(int size)メモリ・ブロック先頭
int BufCopy(void *dest, void *src, int size)0
int MemClear(void *dest, int size)0
char CheckWriteComplete(char socket)
char WaitWriteComplete(char socket)
char CloseSocket(char socket)
char Connect(char socket, long ip, int port)
int MemoryFree(void *memory)0
long GetHostByName(char *name)IPアドレス
char *GetReceiveBuffer(char socket, char release)バッファ先頭
int PrAdrs(long adrs)0
int PrChar(char c)0
int PrHex(long num, ..)0
int PrHexWord(int num, ..)0
int PrHexByte(char num, ..)0
int PrNum(long num, ..)0
int PrStr(char *str)文字列長
int Sleep(int time)0
char CreateSocket(char prot)ソケット・ハンドル
int StrLen(char *str)文字列長
char *StrCat(char *head, char*tail)結合された文字列
int StrCmp(char *str1, char *str2)
  • 正 - str1 > str2
  • 零 - str1 = str2
  • 負 - str1 < str2
char *StrCpy(char *dest, char *src)dest
char *StrChr(char *str, char scan)
  • 0 - 発見されず
  • 非0 - 発見位置
cahr *StrStr(char *str, char *scan)
  • 0 - 発見されず
  • 非0 - 発見位置
int SystemSleep(void)0
int Write(char socket, char *buf, int len)
  • 0以上 - 送信バイト数
  • -1 - エラー
  • -3 - エラー
int Read(char socket, int timeout)
  • 0以上 - 受信バイト数
  • -1 - エラー
  • -2 - タイムアウト
  • -3 - ???
int GetNetLine(char socket, char *buf, char size, char func)
  • char CreateTimer(char timer)
  • char CreateTimer(char timer, int interval, char *func)
タイマ・ハンドル
int GetTimerCount(char timer)
  • 0 - timer=0
  • カウンタ値 - timer!=0
  • "PrXxxx"関数のいくつかは、可変引数に対応していて、それぞれの表示を空白デリミッタで区切って表示してくれます。 デリミッタは、ハードコーディングされているので、外部から変更することは出来ません。 う~ん、残念。
  • "PrStr"関数は、返り値として表示した文字列の長さを返してくれます。 この機能は、私には、使途が思いつきません。
  • ある情報から、"Read"関数は、8ビットの値を返しているように見えたのですが、16ビットの値を返していました。 このため、127バイトを超える長さのパケットも受信できます。
  • "CreateTimer"関数は、引数として"0"を一つだけとる使い方ができます。 この場合、タイマの作成(確保?)のみ行います。

参考文献

Interface (インターフェース) 2008年 09月号 [雑誌]

Interface (インターフェース) 2008年 09月号 [雑誌]

  • 作者:
  • 出版社/メーカー: CQ出版
  • 発売日: 2008/07/25
  • メディア: 雑誌

nice!(0)  コメント(7)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 7

hamayan

> "Read"関数は、8ビットの値を返しているように見えます。

SilentCは便利なんだけれど、もう少し使う変数の型に配慮してもらえると、、、と思えます。前回のポート番号の様にね。
writeが送信するサイズも、戻り値もint型なので、使う人は混乱するのでは。

by hamayan (2008-09-22 09:07) 

noritan

"Read"関数は、Interface誌によると"int"(16bit)を返すと書いてあるのですが、調べてみると(どこを?)"char"(8bit)を返しているように見えます。

SilentMoonは、16ビットの値を返しているので、SilentCでラッパー(wrapper)を作ったときに間違えちゃったのではないかと考えています。ぜひとも大きなパケットを送受信する検証プログラムを作成して確認してみなくては。

型について、 SilentCは、signed, unsinged を予約語としているのですが、使えるのかどうかは今のところ不明です。OS-2のフル・スペック版だと使えるようになるのかな?

by noritan (2008-09-22 09:30) 

hamayan

> ぜひとも大きなパケットを送受信する検証プログラムを作成して確認してみなくては。

受信で簡単なのは、httpクライアントを作成して、「GET /」で大き目のwebページにアクセスすれば良さそうですね。

by hamayan (2008-09-22 09:42) 

hamayan

追伸

> 調べてみると(どこを?)
そうか、これを調べていたのか(笑)。

by hamayan (2008-09-22 09:44) 

noritan

> 大き目のwebページにアクセスすれば

現在、 PC-ColdFire をクロスケーブルでつないだ極めて閉じた世界で実験しているので、httpサーバをどうしようかと考えてしまいました。

Javaで、ベタなTCP/IP通信を書いてもいいんですよね。私は、どちらかというと、UNIX の C で listen-accept を使っていた世代なので。

by noritan (2008-09-22 12:08) 

hamayan

> 極めて閉じた世界

なるほど、しかし確かWindowsにもルーティング機能が有った様な気がします。
http://www.atmarkit.co.jp/fwin2k/win2ktips/450ipforw/ipforw.html

by hamayan (2008-09-22 12:33) 

noritan

"Read"関数は、「ある所」を見ると8bitのデータを返しているように見えたのですが、実際に使ってみると、16bitのデータが返ってきていました。

検証プログラムは、のちほど。

by noritan (2008-09-23 10:51) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。