]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/net.h
gpio: remove gpiolib.c and define remaining functions as static inline in asm/gpio.h
[karo-tx-uboot.git] / include / net.h
index 3da35fe981880500b9025ca813164c27a2aa8bdb..0b338ff4e63c9cff6b266a4fd9617d4fbf523efd 100644 (file)
@@ -420,7 +420,7 @@ extern int          NetRestartWrap;         /* Tried all network devices */
 
 enum proto_t {
        BOOTP, RARP, ARP, TFTPGET, DHCP, PING, DNS, NFS, CDP, NETCONS, SNTP,
-       TFTPSRV, TFTPPUT, LINKLOCAL
+       TFTPSRV, TFTPPUT, LINKLOCAL, BOOTME
 };
 
 /* from net/net.c */
@@ -482,6 +482,36 @@ extern void net_set_ip_header(uchar *pkt, IPaddr_t dest, IPaddr_t source);
 extern void net_set_udp_header(uchar *pkt, IPaddr_t dest, int dport,
                                int sport, int len);
 
+/**
+ * compute_ip_checksum() - Compute IP checksum
+ *
+ * @addr:      Address to check (must be 16-bit aligned)
+ * @nbytes:    Number of bytes to check (normally a multiple of 2)
+ * @return 16-bit IP checksum
+ */
+unsigned compute_ip_checksum(const void *addr, unsigned nbytes);
+
+/**
+ * add_ip_checksums() - add two IP checksums
+ *
+ * @offset:    Offset of first sum (if odd we do a byte-swap)
+ * @sum:       First checksum
+ * @new_sum:   New checksum to add
+ * @return updated 16-bit IP checksum
+ */
+unsigned add_ip_checksums(unsigned offset, unsigned sum, unsigned new_sum);
+
+/**
+ * ip_checksum_ok() - check if a checksum is correct
+ *
+ * This works by making sure the checksum sums to 0
+ *
+ * @addr:      Address to check (must be 16-bit aligned)
+ * @nbytes:    Number of bytes to check (normally a multiple of 2)
+ * @return true if the checksum matches, false if not
+ */
+int ip_checksum_ok(const void *addr, unsigned nbytes);
+
 /* Checksum */
 extern int     NetCksumOk(uchar *, int);       /* Return true if cksum OK */
 extern uint    NetCksum(uchar *, int);         /* Calculate the checksum */
@@ -556,6 +586,9 @@ static inline void eth_set_last_protocol(int protocol)
        net_loop_last_protocol = protocol;
 #endif
 }
+#ifdef CONFIG_CMD_BOOTCE
+void BootmeStart(void);
+#endif
 
 /*
  * Check if autoload is enabled. If so, use either NFS or TFTP to download