This is the socket client program of irpr. The procedure is as follows.
:- module main.
main :- client.
client :-
unix:unix([connect(inet("localhost",8888),Result)]),
client1(Result).
client1(normal(So)) :-
merge(Si, So),
unix:argv(ARGVL),
klicio:klicio([stdout(OutResult),stdin(InResult)]),
client2(ARGVL,InResult,OutResult,Si).
client2(["shutdown"],normal(Stdin),normal(Stdout),S) :-
S = [fwrite("shutdown"),#"\n",fflush(_)],
Stdin = [], Stdout = [].
otherwise.
client2([Mode],normal(Stdin),normal(Stdout),Soc) :-
Soc = [ #"i", #"r", #"p", #"r", #"\n", fflush(_),
fwrite(Mode), #"\n", fflush(Stat1)|{SocIn,SocOut}],
irpr_lib:client_rw_loop(Stdin,SocOut,SocIn,Stdout).