Internet
Acronyms & Abbreviations

What is PTR record?

789

Top Answer
User Avatar
Wiki User
2009-06-02 15:30:31
2009-06-02 15:30:31

A PTR record is essentially the opposite of an A record. A records resolve names to IP addresses. PTR records resolve IP addresses to names.

A record = give me a name I'll give you an IP

PTR record = give me an IP I'll give you a name

Try it out in windows:

ping "www.yahoo.com"

Here is what I got:

-------------------------------------------------------------------------------------

F:\>ping www.yahoo.com

Pinging www-real.wa1.b.yahoo.com [69.147.76.15] with 32 bytes of data:

Reply from 69.147.76.15: bytes=32 time=14ms TTL=53

Reply from 69.147.76.15: bytes=32 time=11ms TTL=53

Reply from 69.147.76.15: bytes=32 time=65ms TTL=53

Reply from 69.147.76.15: bytes=32 time=12ms TTL=53

---------------------------------------------------------------------------------------

now do a "ping -a IP-ADDRESS" which will spit you back the name attached to that IP

----------------------------------------------------------------------------------------

F:\>ping -a 69.147.76.15

Pinging f1.www.vip.re1.yahoo.com [69.147.76.15] with 32 bytes of data:

Reply from 69.147.76.15: bytes=32 time=19ms TTL=53

Reply from 69.147.76.15: bytes=32 time=88ms TTL=53

Reply from 69.147.76.15: bytes=32 time=12ms TTL=53

Reply from 69.147.76.15: bytes=32 time=46ms TTL=53

Ping statistics for 69.147.76.15:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 12ms, Maximum = 88ms, Average = 41ms

-------------------------------------------------------------------------------------------

Your accessing PTR records to do this.

... and just so you beileve me try a "ping 69.147.76.15" and check the results

FYI: if your doing a ping -a to an intranet host you need to configure reverse lookup for it to work properly.

1
๐Ÿ™
0
๐Ÿคจ
0
๐Ÿ˜ฎ
0
๐Ÿ˜‚
0

Related Questions

User Avatar

// Return true if str is a palindrome bool is_palindrome (char* str) { int len; char* cpy; char* ptr; bool b; len = strlen (str); if (!len) return false; cpy = malloc (sizeof(char) * (len + 1)); ptr = cpy; while (*ptr=*str) { if (*ptr>='A' *ptr<='Z') *ptr+=('a'-'A'); if ((*ptr>='a' && *ptr<='z') (*ptr>='0' && *ptr<='9')) { ++ptr; } ++str; } *ptr = '\0'; --ptr; str = cpy; while ((cpy!=ptr) && (cpy!=(ptr+1)) && (*cpy==*ptr)) { ++cpy; --ptr; } b = (*cpy==*ptr); free (str); return b; }

User Avatar

A function that calls itself. Example: ProcessList (list *ptr) { if (ptr!=NULL) { DoSomething (ptr->data); ProcessList (ptr->next); } }

User Avatar

Error message, mainly. The following operations are legal: ptr + integer (pointer) ptr - integer (pointer) ptr - ptr (integer)

User Avatar

PTR Industries manufactures machine gun rifles for law-enforcement, military, and even regular civilians. Some of their models include the PTR Classic Wood, the PTR MSG91C, and the PTR SFR.

User Avatar

B. In the DNS tab of the DHCP server properties dialog box, select Dynamically Update DNS A And PTR Records For DHCP Clients That Do Not Request Updates. I think.

User Avatar

void main() { int i,j,temp1,temp2; int arr[8]={5,3,0,2,12,1,33,2}; int *ptr; for(i=0;i<7;i++) { for(j=0;j<7-i;j++) { if(*(arr+j)>*(arr+j+1)) { ptr=arr+j; temp1=*ptr++; temp2=*ptr; *ptr--=temp1; *ptr=temp2; clrscr(); for(i=0;i<8;i++) printf(" %d",arr[i]); getch(); }

User Avatar

simple intrest=ptr/100: simple intrest=ptr/100:

User Avatar

#include #include enum{FALSE=0,TRUE=-1};////////////////////////////////////// Implements Priority Queue/////////////////////////////////class PriorityQueue // Class Prioriry Queue{private:struct Node // Node of Priority Queue{struct Node *Previous;int Data;struct Node *Next;}Current;struct Node *head; // Pointer to Headstruct Node *ptr;// Pointer for travelling through Queuestatic int NumOfNodes;// Keeps track of Number of nodespublic:PriorityQueue(void);int Maximum(void);int Minimum(void);void Insert(int);int Delete(int);void Display(void);int Search (int);~PriorityQueue(void);};// First Nodes Created With Constructorint PriorityQueue::NumOfNodes=1;// ConstructorPriorityQueue::PriorityQueue(void){Current.Previous=NULL;coutcin>>Current.Data;Current.Next=NULL;head=&Current;ptr=head;}// Function Finding Maximum Priority Elementint PriorityQueue::Maximum(void){int Temp;ptr=head;Temp=ptr->Data;while(ptr->Next!=NULL){if(ptr->Data>Temp)Temp=ptr->Data;ptr=ptr->Next;}if(ptr->Next==NULL && ptr->Data>Temp)Temp=ptr->Data;return(Temp);}// Function Finding Minimum Priority Elementint PriorityQueue::Minimum(void){int Temp;ptr=head;Temp=ptr->Data;while(ptr->Next!=NULL){if(ptr->DataTemp=ptr->Data;ptr=ptr->Next;}if(ptr->Next==NULL && ptr->DataTemp=ptr->Data;return(Temp);}// Function inserting element in Priority Queuevoid PriorityQueue::Insert(int DT){struct Node *newnode;newnode=new Node;newnode->Data=DT;while(ptr->Next!=NULL)ptr=ptr->Next;if(ptr->Next==NULL){newnode->Next=ptr->Next;ptr->Next=newnode;}NumOfNodes++;}// Function deleting element in Priority Queueint PriorityQueue::Delete(int DataDel){struct Node *mynode,*temp;ptr=head;if(NumOfNodes==1){coutreturn FALSE;}if(ptr->Data==DataDel){/*** Checking condition for deletion of first node ***/temp=ptr;ptr=ptr->Next;ptr->Previous=NULL;//delete temp;head=ptr;NumOfNodes--;return(TRUE);}else{while(ptr->Next->Next!=NULL){/*** Checking condition for deletion of ***//*** all nodes except first and last node ***/if(ptr->Next->Data==DataDel){mynode=ptr;temp=ptr->Next;mynode->Next=mynode->Next->Next;mynode->Next->Previous=ptr;delete temp;NumOfNodes--;return(TRUE);}ptr=ptr->Next;}if(ptr->Next->Next==NULL && ptr->Next->Data==DataDel){/*** Checking condition for deletion of last node ***/temp=ptr->Next;delete temp;ptr->Next=NULL;NumOfNodes--;return(TRUE);}}return(FALSE);}// Function Searching element in Priority Queueint PriorityQueue::Search(int DataSearch){ptr=head;while(ptr->Next!=NULL){if(ptr->Data==DataSearch)return ptr->Data;ptr=ptr->Next;}if(ptr->Next==NULL && ptr->Data==DataSearch)return ptr->Data;return(FALSE);}// Function Displaying elements of Priority Queuevoid PriorityQueue::Display(void){ptr=head;coutwhile(ptr!=NULL){coutDataptr=ptr->Next;}}// Destructor of Priority QueuePriorityQueue::~PriorityQueue(void){struct Node *temp; /* Temporary variable */while(head->Next!=NULL){temp=head->Next;// delete head;head=temp;}if(head->Next==NULL)delete head;}//Main Functionvoid main(){PriorityQueue PQ;int choice;int DT;while(1){coutcoutcoutcoutcoutcoutcin>>choice;switch(choice){case 1:coutcin>>DT;PQ.Insert(DT);break;case 2:PQ.Display();break;case 3:{int choice;coutcoutcoutcin>>choice;switch(choice){case 1:PQ.Delete(PQ.Maximum());break;case 2:PQ.Delete(PQ.Minimum());break;default:cout}}break;case 4:coutcin>>DT;if(PQ.Search(DT)!=FALSE)coutelsecoutbreak;case 5:exit(0);default:cout}}}

User Avatar

we can use va_start, va_end, va_list printf(char fmt,...) { va_list ptr; // ptr is pointer implicit switch(fmt) { case s: va_start(ptr); putch(ptr); // fmt is for s d f and all } }

User Avatar

A pointer which keeps address of a function is known as function pointer. example: { void *(*ptr)(); ptr= &display; (*ptr)(); return(0); } void display() { .................. )

User Avatar

void main() { int i,j,temp1,temp2; int arr[8]={5,3,0,2,12,1,33,2}; int *ptr; for(i=0;i<7;i++) { for(j=0;j<7-i;j++) { if(*(arr+j)>*(arr+j+1)) { ptr=arr+j; temp1=*ptr++; temp2=*ptr; *ptr--=temp1; *ptr=temp2; clrscr(); for(i=0;i<8;i++) printf(" %d",arr[i]); getch(); }

User Avatar

PTR doesn't exsist anymore Artix Entertainment shut it down for good.

User Avatar

#include "stdio.h" #include "conio.h" struct barbie { int coff; int pow; struct barbie *link; }*ptr,*start1,*node,*start2,*start3,*ptr1,*ptr2; typedef struct barbie bar; int temp1,temp2; void main() { void create(void); void prnt(void); void suml(void); void sort(void); clrscr(); printf("Enrter the elements of the first poly :"); node = malloc(sizeof (bar)); start1=node; if (start1==NULL) { printf("Unable to create memory."); getch(); exit(); } create(); printf(" Enrter the elements of the second poly :"); node = malloc(sizeof (bar)); start2=node; if (start2==NULL) { printf("Unable to create memory."); getch(); exit(); } create(); clrscr(); //printing the elements of the lists printf("The elements of the poly first are :"); ptr=start1; prnt(); printf("The elements of the poly second are :"); ptr=start2; prnt(); printf("The first sorted list is :"); ptr=start1; sort(); ptr=start1; prnt(); printf(" The second sorted list is :"); ptr=start2; sort(); ptr=start2; prnt(); printf("The sum of the two lists are :"); suml(); ptr=start3; prnt(); getch(); } /*-----------------------------------------------------------------------------*/ void create() { char ch; while(1) { printf("Enter the coff and pow :"); scanf("d",&node->coff,&node->pow); if (node->pow==0 ) { ptr=node; node=malloc(sizeof(bar)); node=NULL; ptr->link=node; break; } printf(" Do u want enter more coff ?(y/n)"); fflush(stdin); scanf("%c",&ch); if (ch=='n' ) { ptr=node; node=malloc(sizeof(bar)); node=NULL; ptr->link=node; break; } ptr=node; node=malloc(sizeof(bar)); ptr->link=node; } } /*-------------------------------------------------------------------------*/ void prnt() { int i=1; while(ptr!=NULL ) { if(i!=1) printf("+ "); printf(" %dx^%d ",ptr->coff,ptr->pow); ptr=ptr->link; i++; } //printf(" %d^%d",ptr->coff,ptr->pow); } /*---------------------------------------------------------------------------*/ void sort() { for(;ptr->coff!=NULL;ptr=ptr->link) for(ptr2=ptr->link;ptr2->coff!=NULL;ptr2=ptr2->link) { if(ptr->pow>ptr2->pow) { temp1=ptr->coff; temp2=ptr->pow; ptr->coff=ptr2->coff; ptr->pow=ptr2->pow; ptr2->coff=temp1; ptr2->pow=temp2; } } } /*---------------------------------------------------------------------------*/ void suml() { node=malloc (sizeof(bar)); start3=node; ptr1=start1; ptr2=start2; while(ptr1!=NULL && ptr2!=NULL) { ptr=node; if (ptr1->pow > ptr2->pow ) { node->coff=ptr2->coff; node->pow=ptr2->pow; ptr2=ptr2->link; //update ptr list B } else if ( ptr1->pow < ptr2->pow ) { node->coff=ptr1->coff; node->pow=ptr1->pow; ptr1=ptr1->link; //update ptr list A } else { node->coff=ptr2->coff+ptr1->coff; node->pow=ptr2->pow; ptr1=ptr1->link; //update ptr list A ptr2=ptr2->link; //update ptr list B } node=malloc (sizeof(bar)); ptr->link=node; //update ptr list C }//end of while if (ptr1==NULL) //end of list A { while(ptr2!=NULL) { node->coff=ptr2->coff; node->pow=ptr2->pow; ptr2=ptr2->link; //update ptr list B ptr=node; node=malloc (sizeof(bar)); ptr->link=node; //update ptr list C } } else if (ptr2==NULL) //end of list B { while(ptr1!=NULL) { node->coff=ptr1->coff; node->pow=ptr1->pow; ptr1=ptr1->link; //update ptr list B ptr=node; node=malloc (sizeof(bar)); ptr->link=node; //update ptr list C } } node=NULL; ptr->link=node; }

User Avatar

type *ptr; type-data type *-is dereferencin opterator ptr- pointer

User Avatar

byte ptr is an assembler directive that says the following operand is an address of a byte.

User Avatar

It was because that is what they do sometimes on the PTR. Sometimes they will just decide to come and play with the regular people on the PTR for a bit of fun to test stuff.

User Avatar

/** * Return the byte of DHCP option data. * * @param client DHCP client. * @param ptr pointer obtained by dhcp_get_option_ptr(). * * @return byte value at the given address. */ static u8_t dhcp_get_option_byte(u8_t *ptr) { LWIP_DEBUGF(DHCP_DEBUG, ("option byte value=%"U16_F"\n", (u16_t)(*ptr))); return *ptr; } #if 0 /** * Return the 16-bit value of DHCP option data. * * @param client DHCP client. * @param ptr pointer obtained by dhcp_get_option_ptr(). * * @return byte value at the given address. */ static u16_t dhcp_get_option_short(u8_t *ptr) { u16_t value; value = *ptr++ << 8; value |= *ptr; LWIP_DEBUGF(DHCP_DEBUG, ("option short value=%"U16_F"\n", value)); return value; } #endif /** * Return the 32-bit value of DHCP option data. * * @param client DHCP client. * @param ptr pointer obtained by dhcp_get_option_ptr(). * * @return byte value at the given address. */ static u32_t dhcp_get_option_long(u8_t *ptr) { u32_t value; value = (u32_t)(*ptr++) << 24; value |= (u32_t)(*ptr++) << 16; value |= (u32_t)(*ptr++) << 8; value |= (u32_t)(*ptr++); LWIP_DEBUGF(DHCP_DEBUG, ("option long value=%"U32_F"\n", value)); return value; } #endif

User Avatar

#includeusing namespace std;main(){int * add(int,int);int *ptr;int x,y;cin>>x>>y;ptr=add(x,y);//address of the result variable is assigned to ptrcout}int *add(int a,int b){int c=a+b;return(&c);}#includeusing namespace std;main(){int add(int,int);int (*ptr)(int,int);//declaring function pointerint x,y,result;cin>>x>>y;ptr=add //address of the function is assinged to ptrresult=(*ptr)(x,y);}

User Avatar

The PTR is usually taken down right before a patch is ready to be distributed.

User Avatar

#include #include #define MAX 30 void main() { int size,i,arr[MAX]; int *ptr; clrscr(); ptr=&arr[0]; printf("Enter the size of array : "); scanf("%d",&size); printf("nEnter %d integers into array:n",size); for(i=0;ifor(i=size-1;i>=0;i--) { printf("nElement%d is %d :",i,*ptr); ptr--; } getch(); }

User Avatar

To search for an element in a linked list, you iterate the list, looking for the element, and either return the element or an indication that it was not found. for (ptr = first; ptr != null; ptr = ptr.next) if (ptr.value == searchvalue) break; This will either leave ptr with the address of the found element, or null, if not found.

User Avatar

PTR Testing on aqworlds is over. It was member only back when it was available, and it is over now. You cannot get into it.

User Avatar

int *ptr = (int *)0x1234; *ptr = value; Note: NEVER do this.


Copyright ยฉ 2020 Multiply Media, LLC. All Rights Reserved. The material on this site can not be reproduced, distributed, transmitted, cached or otherwise used, except with prior written permission of Multiply.