comp.lang.ada
 help / color / mirror / Atom feed
* First time Ada has let me down
@ 2000-10-25  3:50 Shifty
  2000-10-25  0:00 ` First time Ada has let me down (recipe) Guillaume
                   ` (6 more replies)
  0 siblings, 7 replies; 30+ messages in thread
From: Shifty @ 2000-10-25  3:50 UTC (permalink / raw)


OK, here's the story:

I had a problem at work where I needed to calculate the offset of a
"magic number" within a buffer containing an IP datagram.

The magic number is 3 protocol headers deep within the datagram, and
all three headers are variable length.  I needed to find the HLEN
fields of the IP and TCP headers in memory.  Turns out both of these 
are stored in 4 bits.  The data in the other 4 bits of the octet 
belong to another field in the header.

This stumped me for awhile, but then I went home and picked up a C book.
Hmmm, chapter 15 - bit fiddling.  I learned a bunch of stuff about masks 
and bitwise operators and came up with a working solution.  (which seems
much better than using record representation clauses and typecasting a 4 
bit value into an 8 bit integer)

Next morning I tried to implement the solution and couldn't find the Ada
equivalent of C's bit-wise & operater.  According to my "Ada as a 2nd 
language" book, the Ada reserved word "AND" only works for boolean types,
not integer types.  I got the impression that it was up to the programmer
to write his own bitwise ANDs/ORs/XORs, etc (it wouldn't be hard).

Luckily I found a vendor-supplied package which provided this 
functionality, but I can't believe Ada (83) doesn't have native 
language support for these!!!  Please tell me that I am hopelessly 
confused and dead wrong!

Cheers,
Andrew.



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2000-10-27  1:00 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-10-25  3:50 First time Ada has let me down Shifty
2000-10-25  0:00 ` First time Ada has let me down (recipe) Guillaume
2000-10-26  2:45   ` Mats Weber
2000-10-25  0:00 ` First time Ada has let me down Larry Kilgallen
2000-10-25  0:00   ` Ted Dennison
2000-10-25  0:00     ` Larry Kilgallen
2000-10-25  0:00       ` Ted Dennison
2000-10-25  0:00 ` Ken Garlington
2000-10-25  0:00   ` Shifty
2000-10-26  4:00     ` Jeff Carter
2000-10-26 14:43       ` Ted Dennison
2000-10-26 17:55         ` tmoran
2000-10-26 17:12       ` Shifty
2000-10-27  1:00         ` Jeff Carter
2000-10-26 22:27       ` Guillaume
2000-10-26 21:49         ` Keith Thompson
2000-10-26 14:36     ` Ted Dennison
2000-10-26 17:55       ` tmoran
2000-10-26 23:08         ` Ted Dennison
2000-10-25  0:00 ` wv12
2000-10-25  0:00   ` Gisle Sælensminde
2000-10-25  0:00   ` Joel Seidman
2000-10-25  0:00   ` Gautier
2000-10-26  6:42   ` tmoran
2000-10-25  4:44 ` Julian Morrison
2000-10-25  4:50 ` Ted Dennison
2000-10-24  0:00   ` Keith Thompson
2000-10-26  0:00   ` Andreas Schulz
2000-10-26 18:05     ` Alejandro Villanueva
2000-10-26 21:46 ` Tucker Taft

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox