3 TimePort equ 13 ;Port of the "daytime" service
14 call bsdsocket,GetHostByName
19 addq #8,a1 ;h_(name|aliases)
20 move.l (a1)+,d0 ;h_addrtype
22 dtl <Network protocol not supported>,a0
24 move.l (a1)+,d0 ;h_length
26 ErrorSSNE1 bne ErrorSS
27 move.l (a1),a1 ;h_addr_list
29 move.l (a1),d3 ;Address
31 moveq #1,d1 ;SOCK_STREAM
38 push d3 ;sin_addr.s_addr
39 move.l #(4<<24)!(2<<16)!TimePort,-(sp) ;sin_(len|family|port)
40 move.l sp,a0 ;sockaddr_in
41 moveq #16,d1 ;sizeof(sockaddr_in)
44 NetErrorNE bne NetError
55 dtl <Invalid data received>,a0
60 put.l a1,Date+dat_StrDate
72 put.l a1,Date+dat_StrTime
75 CopyTime move.b (a2)+,(a1)+
82 dtl <StrToDate("%s","%s")>,a0
83 geta Date+dat_StrDate,a1
86 ConvOkay move.l (a2)+,d0 ;ds_Days
90 add.l (a2)+,d0 ;ds_Minute
93 move.l (a2),d1 ;ds_Tick
100 moveq #UNIT_VBLANK,d0
104 move.w #TR_SETSYSTIME,IO_COMMAND(a1)
105 move.l d2,IOTV_TIME+TV_SECS(a1)
111 dtl <battclock.resource>,a1
113 call exec,OpenResource
115 dtl <%s not found>,a0
121 EXIT jump ss,ExitCleanup
124 NetErrorVar clr.l -(sp)
130 call SocketBaseTagList
135 ErrorUnknown dtl <Unknown net subsystem error>,a0
136 ErrorSS jump ss,ExitError
139 template <HOST/A,SAVE/S>