@program muckrpc.muf.i386.so.1.0 1 1000 d i $include $lib/alynna $def AVATAR #21 $def SEP 127 itoc lvar lsock lvar lsockerr : syslistener 16 3652 lsockopen lsock ! lsockerr ! lsock @ socket? not if AVATAR "wc MUCKRPC: Oh shit. Could not open listening socket." force exit then ; : rpc ( s.string-based-stack s.function-id s.program-id s.muck-id -- ) ; PUBLIC rpc : mpc ( s.string-based-stack s.function-id s.program-id -- ) ; PUBLIC mrpc : lpc ( s.string-based-stack s.function-id s.program-id -- ) ; PUBLIC mrpc : string2stack ( s.string-based-stack -- a.stack ) var item ; PUBLIC string2stack : stack2string ( a.stack -- s.string-based-stack ) var item str swap foreach item ! pop item @ string? if "S:" item @ SEP then item @ int? if "I:" item @ intostr SEP then item @ float? if "F:" item @ ftostr SEP then item @ dbref? if "D:" item @ int intostr SEP then repeat cat dup strlen 1 - strcut pop ; PUBLIC stack2string : daemon syslistener ; : install prog "/_defs/rpc" "\"$lib/rpc\" match \"rpc\" call" setprop prog "/_defs/mrpc" "\"$lib/rpc\" match \"mrpc\" call" setprop prog "L" set prog "V" set "libRPC v1.0" header tellhere "The library is installed properly" "TEST" pretty tellhere "$lib/alynna LINK_OK VIEWABLE" "REQUIRES" pretty tellhere "rpc mrpc" "PROVIDES" pretty tellhere "Alynna's MUFInstaller" footer tellhere ; . c q