gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

genericopt.go (1211B)


      1 // Copyright 2012 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 package ipv4
      6 
      7 // TOS returns the type-of-service field value for outgoing packets.
      8 func (c *genericOpt) TOS() (int, error) {
      9 	if !c.ok() {
     10 		return 0, errInvalidConn
     11 	}
     12 	so, ok := sockOpts[ssoTOS]
     13 	if !ok {
     14 		return 0, errNotImplemented
     15 	}
     16 	return so.GetInt(c.Conn)
     17 }
     18 
     19 // SetTOS sets the type-of-service field value for future outgoing
     20 // packets.
     21 func (c *genericOpt) SetTOS(tos int) error {
     22 	if !c.ok() {
     23 		return errInvalidConn
     24 	}
     25 	so, ok := sockOpts[ssoTOS]
     26 	if !ok {
     27 		return errNotImplemented
     28 	}
     29 	return so.SetInt(c.Conn, tos)
     30 }
     31 
     32 // TTL returns the time-to-live field value for outgoing packets.
     33 func (c *genericOpt) TTL() (int, error) {
     34 	if !c.ok() {
     35 		return 0, errInvalidConn
     36 	}
     37 	so, ok := sockOpts[ssoTTL]
     38 	if !ok {
     39 		return 0, errNotImplemented
     40 	}
     41 	return so.GetInt(c.Conn)
     42 }
     43 
     44 // SetTTL sets the time-to-live field value for future outgoing
     45 // packets.
     46 func (c *genericOpt) SetTTL(ttl int) error {
     47 	if !c.ok() {
     48 		return errInvalidConn
     49 	}
     50 	so, ok := sockOpts[ssoTTL]
     51 	if !ok {
     52 		return errNotImplemented
     53 	}
     54 	return so.SetInt(c.Conn, ttl)
     55 }