00001 // -*- C++ -*- 00002 // Netlink_Addr.inl,v 1.3 2006/06/07 13:05:31 jwillemsen Exp 00003 00004 #ifdef ACE_HAS_NETLINK 00005 00006 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00007 00008 ACE_INLINE ACE_Netlink_Addr::~ACE_Netlink_Addr (void){} 00009 00010 ACE_INLINE ACE_Netlink_Addr::ACE_Netlink_Addr (void): 00011 ACE_Addr (this->determine_type(), sizeof (sockaddr_nl)) 00012 { 00013 this->nl_.nl_family = AF_NETLINK; 00014 } 00015 00016 ACE_INLINE void ACE_Netlink_Addr::set(int pid, int gid) 00017 { 00018 this->nl_.nl_pid = pid; 00019 this->nl_.nl_groups = gid; 00020 } 00021 00022 ACE_INLINE void ACE_Netlink_Addr::reset (void) 00023 { 00024 ACE_OS::memset (&this->nl_, 0, sizeof (this->nl_)); 00025 this->nl_.nl_family = AF_NETLINK; 00026 } 00027 00028 ACE_INLINE int ACE_Netlink_Addr::determine_type (void) const 00029 { 00030 return AF_NETLINK; 00031 } 00032 00033 ACE_INLINE void *ACE_Netlink_Addr::get_addr (void) const 00034 { 00035 return (void*)&(this->nl_); 00036 } 00037 00038 ACE_INLINE int ACE_Netlink_Addr::get_addr_size (void) const 00039 { 00040 return sizeof(this->nl_); 00041 } 00042 00043 00044 ACE_INLINE void ACE_Netlink_Addr::set_addr (void *addr, int len){ 00045 ACE_OS::memcpy (&this->nl_,addr,len); 00046 } 00047 00048 ACE_END_VERSIONED_NAMESPACE_DECL 00049 00050 #endif /* ACE_HAS_NETLINK */ 00051