[最新のSony NEWS-OS 4.x 支援ライブラリーマニュアル][戻る]

SONY NEWS 用ライブラリ libmissing.a
Thu. Mar. 2 1995
片山 宏之
0:お断り
以下の一連の作業、及び、当ライブラリの利用は、各自の責任にて行って下 さい。当方では一切責任を負いません。
1:はじめに
NEWS-OS 4.x では libc.a には幾つかの関数が欠けているため、フリーソフ トなどが正常にコンパイルできないことが知られています。その対策として、 欠けている部分を集めたライブラリ libmissing.a を作ってみました。
2:インストール
適当なディレクトリに展開して、make して下さい。make 一発のはずです。
% zcat missing.tar.gz | tar xvf -
% cd missing-func-news
% make

 ただし、NEWS-OS 4.1 の人は Makefile 中の OBJS41 を定義して下さい。

 make に成功すると、そのディレクトリに libmissing.a というライブラリが
出来ていると思います。これを /usr/local/lib にでもインストールして、
ranlib をかけて下さい。

% make install

(注意1)インストール先は Makefile に記述してあるので、各自の環境に合
          わせて変更して下さい。
(注意2)NEWS-OS 4.1 の人は missing.h 中の該当箇所をアンコメントして
          下さい。
3:使い方
ソフトをコンパイルする時に libmissing.a もリンクするように指定してあ げて下さい。
% gcc -o foo foo.c -lmissing
4:ライブラリの内容
現在、以下の関数が用意されています。足りないものが見つかり次第、随時 増やしていく予定です。基本的にソースは FreeBSD から取っています。
○関数名
(*1)void   *memmove(void *dst0, const void *src0, size_t length)
int     mkfifo(const char *path, mode_t mode)
time_t  mktime(struct tm *tp)
int     setsid()
(*1)int     strcmp(const char *s1, const char *s2)
(*1)char   *strdup(const char *str)
size_t  strftime(char *s, size_t maxsize, const char *format, \
                 const struct tm *timeptr)
char   *strsep(char **stringp, const char *delim)
(*1)char   *strstr(const char *s, const char *find)
(*1)char   *strtok(char *s, const char *delim)
double  fmod(double x, double y)
pid_t   waitpid(pid_t pid, int *istat, int options)
double  drand48(void)
double  erand48(unsigned short xseed[3])
long    lrand48(void)
long    nrand48(unsigned short xseed[3])
long    mrand48(void)
long    jrand48(unsgined short xseed[3])
void    srand48(long seed)
unsigned short *seed48(unsigned short xseed[3])
void    lcong48(unsigned short p[7])
char   *cuserid(char *s)

(*1) NEWS-OS 4.2 には存在している関数

○ /usr/include/*.h 等で宣言されていない型
typedef     unsigned short  mode_t;         /* file mode bits */
typedef     int             pid_t;          /* process id */

#define L_cuserid       9

○ソースファイル
bcopy.c  (*1)
cdefs.h
cuserid.c
fmod.c
mkfifo.c (*2)
mktime.c
rand48/_rand48.c
rand48/drand48.c
rand48/erand48.c
rand48/jrand48.c
rand48/lcong48.c
rand48/lrand48.c
rand48/mrand48.c
rand48/nrand48.c
rand48/rand48.h
rand48/seed48.c
rand48/srand48.c
setsid.c
strcmp.c
strdup.c
strftime.c
strsep.c
strstr.c
strtok.c
wait.h
waitpid.c
missing.h (*3)
(*1) memmove は bcopy.c で -DMEMMOVE とすることにより得られます。
(*2) mkfifo.c は glibc を参考にして自作しています。
(*3) ライブラリを使用する為のヘッダファイルです
5:その他
最新版は 
ftp://ftp.rokoh.gen.u-tokyo.ac.jp/pub/missing-func-news/
にあります。

注)現在はftp://skylark.ics.es.osaka-u.ac.jp/pub/missing-func-news/
に置いてあります。(1997.01.14)

 バグ、御意見等は kata@rokoh.gen.u-tokyo.ac.jpまで。私の環境が 4.1C 
なもので 4.2C/R のことはよく分かっていません。4.1 にはないが、4.2 には
標準のライブラリに付いているような関数がありましたら、お教え頂けると幸
いです。

-----------------------------------------------------------
  東京大学工学部システム量子工学科近藤研究室 (ext.6966)
  片山  宏之        E-mail kata@rokoh.gen.u-tokyo.ac.jp
注)現在はmatusita@ics.es.osaka-u.ac.jp
-----------------------------------------------------------