Advertisement
Guest User

systemtap - getsockname

a guest
Dec 6th, 2012
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. ======= script code start =======
  2.  
  3. %{
  4. #include <stdlib.h>
  5. #include <sys/socket.h>
  6. %}
  7.  
  8. function sockname:string(sock:long)
  9. %{
  10.         struct sockaddr *addr = (struct sockaddr *) malloc (sizeof (struct sockaddr))                                                                        
  11.         if (addr != NULL) {                                                                                                                                  
  12.                 size_t *addrlen = sizeof (struct sockaddr)                                                                                                    
  13.  
  14.                 ret = getsockname (sock, addr, addrlen)
  15.                 if (ret < 0) {
  16.                         print ("error\n")                                                                                                                    
  17.                 }
  18.         }
  19. %}
  20.  
  21. probe syscall.connect.return {
  22.         if ($return >= 0) {
  23.                 sockname ($return)
  24.         }
  25. }
  26.  
  27. ======= script code end =======
  28.  
  29. ======= run start =======
  30.  
  31. [root@rhel5-stap stps]# stap -g strace-connect.stp -c "curl www.google.com"
  32. Pass 4: compilation failed.  Try again with another '--vp 0001' option.
  33.  
  34. [root@rhel5-stap stps]# stap -g --vp 0001 strace-connect.stp -c "curl www.google.com"
  35. Pass 4: compiled C into "stap_b7800dfc97ca81afbd4921aaa452d856_6437.ko" in 740usr/190sys/932real ms.
  36. Pass 4: compilation failed.  Try again with another '--vp 0001' option.
  37.  
  38. ======= run end =======
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement