byteorder.c revision 30642
11553Srgrimes/*- 21553Srgrimes * Copyright (c) 1985, 1993 31553Srgrimes * The Regents of the University of California. All rights reserved. 41553Srgrimes * 51553Srgrimes * Redistribution and use in source and binary forms, with or without 61553Srgrimes * modification, are permitted provided that the following conditions 71553Srgrimes * are met: 81553Srgrimes * 1. Redistributions of source code must retain the above copyright 91553Srgrimes * notice, this list of conditions and the following disclaimer. 101553Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 111553Srgrimes * notice, this list of conditions and the following disclaimer in the 121553Srgrimes * documentation and/or other materials provided with the distribution. 131553Srgrimes * 3. All advertising materials mentioning features or use of this software 141553Srgrimes * must display the following acknowledgement: 151553Srgrimes * This product includes software developed by the University of 161553Srgrimes * California, Berkeley and its contributors. 171553Srgrimes * 4. Neither the name of the University nor the names of its contributors 181553Srgrimes * may be used to endorse or promote products derived from this software 191553Srgrimes * without specific prior written permission. 201553Srgrimes * 211553Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 221553Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 231553Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 241553Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 251553Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 261553Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 271553Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 281553Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 291553Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 301553Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 311553Srgrimes * SUCH DAMAGE. 321553Srgrimes */ 331553Srgrimes 341553Srgrimes#ifndef lint 3530642Scharnier#if 0 361553Srgrimesstatic char sccsid[] = "@(#)byteorder.c 8.1 (Berkeley) 6/6/93"; 3730642Scharnier#endif 3830642Scharnierstatic const char rcsid[] = 3930642Scharnier "$Id$"; 401553Srgrimes#endif /* not lint */ 411553Srgrimes 421553Srgrimes#include "globals.h" 431553Srgrimes 441553Srgrimes/* 451553Srgrimes * Two routines to do the necessary byte swapping for timed protocol 461553Srgrimes * messages. Protocol is defined in /usr/include/protocols/timed.h 471553Srgrimes */ 481553Srgrimesvoid 491553Srgrimesbytenetorder(ptr) 501553Srgrimes struct tsp *ptr; 511553Srgrimes{ 521553Srgrimes ptr->tsp_seq = htons((u_short)ptr->tsp_seq); 531553Srgrimes switch (ptr->tsp_type) { 541553Srgrimes 551553Srgrimes case TSP_SETTIME: 561553Srgrimes case TSP_ADJTIME: 571553Srgrimes case TSP_SETDATE: 581553Srgrimes case TSP_SETDATEREQ: 591553Srgrimes ptr->tsp_time.tv_sec = htonl((u_long)ptr->tsp_time.tv_sec); 601553Srgrimes ptr->tsp_time.tv_usec = htonl((u_long)ptr->tsp_time.tv_usec); 611553Srgrimes break; 628857Srgrimes 631553Srgrimes default: 641553Srgrimes break; /* nothing more needed */ 651553Srgrimes } 661553Srgrimes} 671553Srgrimes 681553Srgrimesvoid 691553Srgrimesbytehostorder(ptr) 701553Srgrimes struct tsp *ptr; 711553Srgrimes{ 721553Srgrimes ptr->tsp_seq = ntohs((u_short)ptr->tsp_seq); 731553Srgrimes switch (ptr->tsp_type) { 741553Srgrimes 751553Srgrimes case TSP_SETTIME: 761553Srgrimes case TSP_ADJTIME: 771553Srgrimes case TSP_SETDATE: 781553Srgrimes case TSP_SETDATEREQ: 791553Srgrimes ptr->tsp_time.tv_sec = ntohl((u_long)ptr->tsp_time.tv_sec); 801553Srgrimes ptr->tsp_time.tv_usec = ntohl((u_long)ptr->tsp_time.tv_usec); 811553Srgrimes break; 828857Srgrimes 831553Srgrimes default: 841553Srgrimes break; /* nothing more needed */ 851553Srgrimes } 861553Srgrimes} 87